static静态

静态对象被所有的实例对象所共享
属性作用域
方法中可以访问属性,但方法之间不能访问彼此内部定义的变量
静态方法
使用前不用创建任何对象
main方法是静态的,JVM在执行main方法时不创建main方法所在的类的实例对象,所以不能直接访问该类的非静态成员,必须创建该类的一个实例对象,才能通过这个对象去调用非静态成员
静态变量
特定的数据在内存中只有一份,无论是否产生,或产生了多少对象;
静态代码块:
一个类可以中可以使用不包含在任何方法中的静态代码块,类被载入时,静态代码块执行,且执行一次,常作属性初始化操作。
即使产生多个实例对象,其中静态代码块只执行一次
当一个程序中用到了其他的类,类是在第一次被使用的时候才被装载,而不是在程序启动时就加载程序中的所有用到的类
子类对象实例化 : new关键字
上代码:
public class Demo_Three {
//静态内部类 只能访问静态的成员(变量和方法)
static class Chain{
private static String chain = "中国";
private int age = 50000;
//静态方法内不嫩使用this和super关键字
//this:因为在调用静态方法时,不会实例化对象,所引用的对象根本不会产生
public static void chain(){
System.out.println("团结");
}
public void chain(String ai){
System.out.println(ai);
}
}
private static int x;
//main静态方法,所以在JVM执行main方法时,不会直接访问该类中的非静态方法,需要通过实例化来访问
public static void main(String[] args){
//访问内部类静态的成员
System.out.println(Chain.chain);
Chain.chain();
//若访问非静态的成员,需要实例化对象
Chain ai = new Chain();
ai.chain("中国");
System.out.println(ai.age);
}
単态设计模式

单例设计模式
//単态设计模式
static Chain chains = new Chain();
public static Chain getInstance(){
return chains;
}
调用单例
public static void main(String[] args){
//调用单例设计模式
Chain.getInstance();
}
Java文档注释


网友评论