标签:demo dem 除了 对象 stat 静态 封装 本质 传递
同一个包中的类可以直接使用,直接用类名点调用其中的方法
调用本类中的静态方法可以直接用方法名就可以
例如:
public static void main(String[] args){
a();
}
public static void a(){
System.out.println("我是一个静态方法");
}
调用同一个包中的另一个类中的静态方法,需要用类名点方法名进行调用
public static void main(String[] args){
xuexi.b();
}
调用同一个包中的另一个类中的非静态方法,需要new一个该类的对象,用对象调用他的方法
例如:
public static void main(String[] args){
//对象类型 对象名 = 对象值
xuexi xuexi = new xuexi();//new了xuexi类的对象
xuexi.b();//对象调用方法
}
调用本类中的非静态方法,也需要new一个本类的对象,用对象进行调用
例如:
public class lianxi1 {
public static void main(String[] args){
//对象类型 对象名=对象值
lianxi1 name = new lianxi1();
name.a();
}
public void a(){
System.out.println("我是一个静态方法");
}
}
注意:
静态方法是不能调用非静态方法的,因为静态方法是和类一起加载的,而非静态方法创建对象后才存在,所以他们有时间差,静态方法出现的时候非静态方法还没有出现呐
除了这种情况,其他情况的方法调用方法都是可以的
例如:
public static void i(){
a();//掉不出来a方法,因为a是非静态方法
}
举例说明:
public static void main(String[] args){
int a=1;
xx(a);//a执行力此方法后a的值还为1,a只是给这个方法进行了传值,并没有将a本身传给方法,这就是值传递
System.out.println(a);
}
public static void xx(int a){
a=10;
}
举类说明:
public class Demo05 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);//输出为空
Demo05.change(person);
System.out.println(person.name);//输出对象,这就是引用传递
}
public static void change(Person person){
person.name="对象";
}
static class Person{
String name;
}
}
标签:demo dem 除了 对象 stat 静态 封装 本质 传递
原文地址:https://www.cnblogs.com/H-scholar/p/14341336.html