static修饰成员变量和成员方法(静态和实例)
1.修饰静态成员变量和实例成员变量
public class User {
//在线人数
//static修饰静态成员变量,只在内存中有一份,属于类,可以共享
public static int onlineNumber = 161;
//实例成员变量,无static,属于每个对象的,必须用对象名,访问
private String name; //可以私有也可公共
public int age;
public static void main(String[] args) {
//理解static修饰修饰成员变量的作用和访问特点
//类名.成员变量,同一类中类名可省略
System.out.println(User.onlineNumber);
System.out.println(onlineNumber);
//对象名.实例成员变量
User u = new User();
u.name = "zhangSan";
u.age = 22;
u.onlineNumber++;
System.out.println(u.onlineNumber);
}
}
2.修饰静态成员方法和实例成员方法
public class Student {
//实例成员变量:无static修饰,属于对象
private String name;
//静态成员方法:有static,归属于类,可以被共享访问,用类名或者对象名都可以访问
//什么时候用?通用功能
public static int getMax(int age1,int age2 ) {
return age1>age2?age1:age2;
}
//实例成员方法:属于对象的,只能用对象触发访问
//什么时候访问?是对象的方法且需要访问对象的东西(name,age)
public void study(){
System.out.println(name+"好好学习");
}
public static void main(String[] args) {
//1.类名.静态成员变量方法
System.out.println(Student.getMax(10, 3));
//同一个类中,访问静态方法,类名可以省略不写
System.out.println(getMax(10, 32));
//study();出错
//2.对象.实例方法
Student s = new Student();
s.name = "奥特曼";
s.study();//必须用对象访问
//3.对象.静态方法(语法可信,但是不推荐)
System.out.println(s.getMax(12,23));
}
}