public class
和class
public class
与class
最基本的相同与不同[1]:public class
的类名必须与所在Java源文件相同,否则会编译错误。class
的类名没有这样的规则。
一个Java源文件里只能有一个public class
类,但可以有多个class
类。
无论是public class
还是class
都可以在其中编写main
方法,都可以设定程序的入口。
public class
与class
使用过程中的不同[2]:public class
所有类都可引入使用。
class
只能被同包下的类和本类引入使用。
pravite class
只能在本类中被引入使用。protected class
只有子孙类和本类可以引入使用。static
关键字[3]static
方法静态方法不依赖于任何对象就可以访问,非静态方法可以调用静态方法,但是,在静态方法中不能访问非静态成员变量和非静态成员方法。
因此,非静态成员的方法和变量必须依赖具体的对象才能被调用。
static
变量静态对象:被所有对象所共有,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。static成员变量的初始化顺序按照定义的顺序进行初始化。
非静态变量:是对象所拥有,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。
在大佬的博客中还看到了static代码块,有空在理解理解。