1.关键字:static
当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过
new
关键字才会产生出对象,这时系统才会分配内存空间给对象,
其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少
对象的情况下,
某些特定的数据在内存空间里只有一份
,例如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中
都单独分配一个用于代表国家名称的变量。
类属性、类方法的设计思想
类属性作为该类各个对象之间共享的变量。
在设计类时
,
分析哪些属性
不因对象的不同而改变
,将这些属性设置为类属性。相应
的方法设置为类方法。
如果方法与调用者无关,则这样的方法通常被声明为类方法,由于
不需要创建对象就可以调用类方法
,从而简化了方法的调用。
使用范围:
在
Java
类中,可用
static
修饰
属性、方法
、
代码块、内部类
被修饰后的成员具备以下特点:
- 随着类的加载而加载
- 优先于对象存在
- 修饰的成员,被所有对象所共享
- 访问权限允许时,可不创建对象,直接被类调用
单例(Singleton)设计模式-饿汉式
class Singleton {
// 1.私有化构造器
private Singleton() {
}
// 2.内部提供一个当前类的实例
// 4.此实例也必须静态化
private static Singleton single = new Singleton();
// 3.提供公共的静态的方法,返回当前类的对象
public static Singleton getInstance() {
return single; } }
单例
(Singleton)
设计模式
-
懒汉式
class Singleton {
// 1.私有化构造器
private Singleton() {
}
// 2.内部提供一个当前类的实例
// 4.此实例也必须静态化
private static Singleton single;
// 3.提供公共的静态的方法,返回当前类的对象
public static Singleton getInstance() {
if(single == null) {
single = new Singleton();
}
return single; } }
2.理解
main
方法的语法
由于
Java
虚拟机需要调用类的
main()
方法,所以该方法的访问权限必须是public
,又因为
Java
虚拟机在执行
main()
方法时不必创建对象,所以该方法必须
是
static
的,该方法接收一个
String
类型的数组参数,该数组中保存执行
Java
命令
时传递给所运行的类的参数。
又因为
main()
方法是静态的,我们不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,这种情
况,我们在之前的例子中多次碰到。
3.
类的成员之四:代码块
4.关键字:final
5 抽象类与抽象方法
6 接 口
7.类的成员之五:内部类