方法格式
[修饰符1 修饰符2 …..] 返回值类型 方法名( 形式参数列表 ){
Java 语句;… … …
}
语法解释:
- 形式参数:在方法被调用时用于接收外界输入的数据。
- 实参:调用方法时实际传给方法的数据。
- 返回值:方法在执行完毕后返回给调用它的环境的数据。
- 返回值类型:事先约定的返回值的数据类型,无返回值,必须给出返回类型viod。
-
- Java语言中使用下述形式调用方法:对象名.方法名(实参列表)
- 实参的数目、数据类型和次序必须和所调用方法声明的形式列表匹配。
- return语句中止方法的运行并指定要返回的数据。
方法区分与特点
- 方法不能独立定义,要在类体里里面
- 从逻辑上来看,方法要么属于类本身(类方法),要么属于类的一个对象(对象方法)
- 方法永远不能独立执行,执行方法必须使用类和对象作为调用者
- 没有static修饰的方法则属于对象,有static标识的则属于类本身
示例.
1.对比静态方法和动态方法
class Person{
private int age;
private double number;
Person(int age,double number){
this.age=age;
this.number=number;
}
public void show(){
System.out.println("这是对象方法");
System.out.println("age= "+age);
System.out.println("number= "+number);
}
public static void say(String some){
System.out.println(some);
}
}
public class PrimitiveTest{
public static void main(String[] agrs){
//1.定于类方法和对象方法
Person.say("你好,这个是类方法");//类方法直接诶 类名.方法名()
Person yg=new Person(18,114.2); //对象方法 对象.方法名()
yg.show();
/*输出:
你好,这个是类方法
这是对象方法
age= 18
number= 114.2
*/
}
}
方法的参数传递机制
- Java中方法中参数的传递方式只有一种:值传递(就是将实参的赋值品传递给方法内接受的形参)
1.传递基本类型的代码
class Person{
static void swap(int a,int b){
int temp=a;
a=b;
b=temp;
System.out.println("swap栈区中 a= "+a+" b="+b);
}
static void say(String word){
System.out.println(word);
}
public class test{
public static void main(String[] agrs){
Person.say("1.测试传递基本类型参数");
int a=100;
int b=321;
Person.swap(100,321);
System.out.println("main栈中 a= "+a+" b= "+b);
/*输出:
1.测试传递基本类型参数
swap栈区中 a= 321 b=100
main栈中 a= 100 b= 321
*/
}
}
2.传递引用类型的代码
class Person{
static void objswap(Warehouse one){
int objtemp=one.a;//one.a one.b全部是堆中的对象的数据成员,objtemp是栈中的变量
one.a=one.b;
one.b=objtemp;
System.out.println("obj交换后 a= "+one.a+" b="+one.b);
}
static void say(String word){
System.out.println(word);
}
}
class Warehouse{
int a;
int b;
Warehouse(){}
Warehouse(int a,int b){
this.a=a;
this.b=b;
}
}
public class test{
public static void main(String[] agrs){
Person.say("1.测试传递引用类型参数");
Warehouse one=new Warehouse(123,456);
System.out.println("交换前,one.a= "+one.a+" one.b= "+one.b);
Person.objswap(one);//传过去为指向堆中对象的指针的副本。形参接受副本,还是指向堆中的同一个对象
System.out.println("交换后,one.a= "+one.a+" one.b= "+one.b);
/*
1.测试传递引用类型参数
交换前,one.a= 123 one.b= 456
obj交换后 a= 456 b=123
交换后,one.a= 456 one.b= 123
*/
}
}
Main()方法
在java中,main()方法是java应用程序的入口方法。java虚拟机通过main方法找到需要启动的运行程序,并且检查main函数所在类是否被java虚拟机装载。如果没有装载,那么就装载该类,并且装载所有相关的其他类。因此程序在运行的时候,第一个执行的方法就是main()方法。通常情况下,
如果要运行一个类的方法,必须首先实例化出来这个类的一个对象,然后通过"对象名.方法名()"的方式来运行方法,但是因为main是程序的入口,这时候还没有实例化对象,因此将main方法声明为static的,这样这个方法就可以直接通过“类名.方法名()”的方式来调用。
每个类都可以拥有main()方法,不管这个类是否声明为public
//测试每个类的main方法的调用
package me.testmain;
public class Testmain{
public static void main(String[] args){
System.out.println("这个class Testmain()方法");
}
}
class Dog{
public static void main(String[] args){
System.out.println("这是 Dog 类的main方法");
}
}
编译无问题后,我们可以这样运行测试
/*输出:
yg@Gander:~/Desktop/code$ java me.testmain.
me.testmain.Dog me.testmain.Testmain
yg@Gander:~/Desktop/code$ java me.testmain.Testmain
这个class Testmain()方法
yg@Gander:~/Desktop/code$ java me.testmain.Dog
这是 Dog 类的main方法
yg@Gander:~/Desktop/code$
*///说明每个class都可以拥有main函数,而且不管是否public都可以java xxx
分享到:
相关推荐
内容是C++面对对象的,目录大致来源于菜鸟文档的C++面向对象,笔记是参考各种文章以及菜鸟文档改编的,内容包含C++类和对象(类定义和对象定义,类成员函数,类访问修饰符,友元函数,内联函数,this指针,静态成员...
20210808-银河证券-交通运输行业:菜鸟网络业绩表现持续向好,京东航空获批筹建.rar
20210808-银河证券-交通运输行业:菜鸟网络业绩表现持续向好,京东航空获批筹建.pdf
java笔记-从菜鸟到j2se j2ee高手之路
股市菜鸟必读----“笑傲股市”学习笔记.pdf
JAVA入门级笔记,满满当当适合刚学习用JAVA编程的程序员,不死记硬背靠理解走遍天下
java菜鸟学习第一步-java基础语法,学习一门语言先从语法开始学起,学好基础才能深入的学习编程
菜鸟入侵--利用资源搜索动画教程,内附有详细的使用说明 菜鸟入侵之利用资源篇 菜鸟在入侵的时候,如果能充分利用现有的资源,那将对自己的入侵起很大的
本人刚接触C#,练练手做了个小程序,美化效果比较差,对刚学OO思想想俺一样的菜鸟或许有那么点帮助,希望大家多多指教
Python基础语法-菜鸟教程-函数⽤法:input()和raw_input() 1.input()和raw_input()⽤法 (1).input() 1)⽤法解释 def input(*args, **kwargs): # real signature unknown """ Read a string from standard input....
这本笔记主要记录了我之前面试遇到的问题以及我在网上整理的一些资料 主要是面向 junior 级别的 就是我们这些小菜鸟啦 ~ ---------------------------------------------------- 本 PDF 基于开源文档,目录书签齐全...
java必备-菜鸟的最爱-正则表达式.docx
Java基础知识笔记详细版-菜鸟翻阅必备,可以作为坐地铁等公交的读物!
菜鸟的SAP自学学习笔记;对SAP初学者很有帮助喔!为了解决问题却也带来了相当大的收益,接触了那些以前不会考虑的问题领域,结识了一些之前根本想象不到的人,这些都是那么重珍贵。
python-note 菜鸟学习笔记
STM32菜鸟学习手册-罗嗦版 。
1 09:15:01 ------>Power:99% ----->Memory:18.24% ---->CPULoad:2.54 2 09:20:01 92% 17.86% 1.06 3 09:25:02 95% 18.58% 1.40 4 09:30:01 80% 19.04% 0.41 5 09:35:01 79% 19.18% 0.73 6 09:40:01 69% 19.13% 0.14...
java 笔试面试题 Java 面试笔记 这本书其实是我的一本笔记 (还在整理中). 我是也是刚找到工作. 这本笔记主要记录了我之前面试遇到的问题以及我在网上整理的一些资料 主要是面向 junior 级别的 就是我们这些小菜鸟啦 ...
DAMA学习笔记-第01-17章细化第5章数据建模较多内容
JAVA基础学习课件,菜鸟篇。零基础学Java(PPT)--java教学