第七课 Static关键字和main方法
一、 Static关键字
public class A6_10{ public static void main(String[] args){ Student A=new Student(); A.country="中国"; Student B=new Student(); A.print(); System.out.println(B.country); } } /* static关键字 作用:是一个修饰符,用于修饰成员(成员变量,成员方法) 1.被static修饰后的成员变量只有一份 2.当成员被static修饰之后,多了一种访问方式,除了可以对对象调用之外, 还可以被类直接调用(类名.静态成员) static的特点: 1.随着类的加载而被加载 2.优先于对象的存在 3.被所有的对象所共享的 4.可以直接被类名所调用 存放位置 类变量随着类的加载而存在于data内存区 实例变量随着对象的建立而存在于堆内存 生命周期: 1.类变量生命周期最长,随着类的消失而消失 2.实例变量生命周期比类变量短,它是随着对象的消失而消失的 静态方法注意事项: 1.静态方法只能访问静态变量 2.非静态的方法既能访问静态的(成员变量,成员方法),也能访问非静态的成员 3.静态的方法中是不可以定义this super关键字 因为静态优先于对象存在,所以静态方法不可以出现this 一般是许多对象拥有的属性都是一样的,可以用static这一个关键字,可以共享,而且 对象中如果改变了static值得时候,就会影响所有对象。 */ class Student{ String name; int age;//实例变量 String country;//静态变量(类变量) static void print(){ System.out.println(name);//这里无法访问到name } }什么时候使用静态
static所修饰的内容是成员(成员变量,方法)
从两方面入手:
什么时候使用静态的成员变量:
当属于同一个类的所有对象出现共享数据时,
需要将存储这个共享数据的成员变量用static修饰
什么时候使用静态方法 当功能内部没有访问到非静态的成员时(对象特有的数据) 那么该功能可以定义成静态的
二、main方法(程序入口)
1.public (访问修饰符,公共的)代表该类或者该函数访问权限是最大的 2.static 代表主函数随着类的加载就已经存在了 3.void 代表主函数没有具体的返回值 4.main main不是java中的关键字,它是一个特殊的单词,他能够 被JVM(java虚拟机)所识别 5.String[] args 函数的参数,参数类型是一个字符串数组, 该数组的元素是字符串
public class A6_38{ public static void main(String[] args){ for(i=0;i<=args.length;i++){ Ststem.out.print(args[i]); } } }