针对多个对象有共同的这样的成员变量值的时候,Java就提供了一个关键字来修饰,
Static的特点
可以修饰成员变量,还可以修饰成员方法
1.随着类的加载而加载
2. 优先于对象存在
3. 被类的所有对象共享
什么时候使用?
如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的
4. 可以通过类名调用
其实它本身可以通过对象名调用,静态修饰的内容一般我们称其为:与类相关的,类成员
注意事项:
1 在静态方法中是没有this关键字的,即就是静态是随着类的加载而加载,this是随着对象的创建而存在。静态比对象先存在
2. 静态方法
只能访问静态的成员变量和静态的成员方法
静态方法:
成员变量:只能访问静态变量;
成员方法:只能访问静态成员方法;
非静态方法:
成员变量:可以是静态的,也可以是非静态的;
成员方法:可以是静态的成员方法,也可以是非静态的成员方法.
class Person{
String name;
int age;
//String country;
static String country;
public Person() {
}
public Person(String name,int age) {
this.name=name;
this.age=age;
}
public Person(String name,int age,String country) {
this.name=name;
this.age=age;
this.country=country;
}
public void show() {
System.out.println("姓名:"+name+"年龄:"+age+"国家:"+country);
}
}
public class Test {
public static void main(String[] args) {
Person p=new Person("yang",20,"中国");
p.show();
Person p1=new Person("liu",23);
p1.show();
Person p2=new Person("ang",22);
p2.show();
}
}
修改之后:
Main方法的格式详解
public static void main(String[] args)
public:公共的,访问权限最大,
static: 静态的,不需要创建对象,通过类名就可以,方便jvm调用
void:方法的返回值是返回给调用者,而main方法是被jvm 调用,
你返回内容给jvm没有意义
Main:是一个常见的方法入口,
String[ ] args:这是一个字符串数组,那么值去哪里了?
早期为了接收键盘录入的数据
格式是;java MainDemo hello worid java
public static void main(String[] args) {
System.out.println(args);
System.out.println(args.length);
}
}