自学Java系列 笔记2 高级类特性1
来源:互联网 发布:android 电子商城源码 编辑:程序博客网 时间:2024/06/16 20:01
关键字static(静态的)
在Java类中声明变量、方法和内部类时,可使用关键字static做为修饰符。
static标记的变量或方法由整个类(所有实例)共享,如访问控制权限允许,可不必创建该类对象而直接用类名加‘.’调用。
static成员也称类成员或静态成员,如:类变量、类方法、静态方法等
总结:
1.若需要一个类的多个对象共享一个变量,则该变量需要使用static 修饰
2.因为static 修饰的变量为类的所有实例所共享,所以 static 成员不属于某个类的实例,而属于整个类,所以在访问权限允许的情况下,可以使用“类名.”直接访问静态成员。
3.注意:在static方法内部只能访问类的static属性,不能访问类的非static属性。而在非static方法中可以直接来访问类的static属性
4.因为不需要实例就可以访问static方法,因此static方法内部不能有this,(也不能有super )
5.静态初始化指 对类的静态属性进行初始化。
5.1 不应该在构造器中对静态成员进行初始化:因为静态成员不因类的实例而改变
5.2静态代码块:使用 static 修饰的代码块,在类被加载时执行一次,且执行一次,可以在静态代码块中对静态成员变量进行初始化,先于非静态代码块和构造器执行
5.3 非静态代码块:先于构造器执行,每创建一个对象都会执行一次
静态初始化
1、一个类中可以使用不包含在任何方法体中的静态代码块(static block ),当类被载入时,静态代码块被执行,且只被执行一次,静态块经常用来进行类属性的初始化。
2、static块通常用于初始化static (类)属性
class Person {
publicstatic int total;
static{
total = 100;//为total赋初值
}
……//其它属性或方法声明
}
类方法(classMethod)
1.在静态方法里只能直接调用同类中其它的静态成员(包括变量和方法),而不能直接访问类中的非静态成员。这是因为,对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象。
2.静态方法不能以任何方式引用this和super关键字。与上面的道理一样,因为静态方法在使用前不用创建任何实例对象,当静态方法被调用时,this所引用的对象根本就没有产生。
3.main() 方法是静态的,因此JVM在执行main方法时不创建main方法所在的类的实例对象,因而在main()方法中,我们不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,这种情况,我们在以后的例子中会多次碰到
类属性、类方法的设计思想
1.类属性作为该类各个对象之间共享的变量。在设计类时,分析哪些类属性不因对象的不同而改变,将这些属性设置为类属性。相应的方法设置为类方法。
2. 如果方法与调用者无关,则这样的方法通常被声明为类方法,由于不需要创建对象就可以调用类方法,从而简化了方法的调用
- 自学Java系列 笔记2 高级类特性1
- 自学Java系列 笔记2 高级类特性2
- 自学Java系列 笔记2 Java类设计1
- 自学Java系列 笔记2 Java类设计2
- 自学Java系列 笔记2 Java类设计3
- 自学Java系列 笔记4 Java常用类 2
- 自学Java系列 笔记4 Java常用类 1
- 自学Java系列 笔记1 java的基本语法2
- 自学Java系列 笔记2 Java集合1
- 自学Java系列 笔记2 面向对象1
- 自学Java系列 笔记2 异常处理1
- 自学Java系列 笔记3 IO 2
- 自学Java系列 笔记4 多线程 2
- 自学Java系列 笔记3 泛型1
- 自学Java系列 笔记3 IO 1
- 自学Java系列 笔记4 多线程 1
- 【笔记】Python 3自学笔记之高级特性
- 传智播客的JAVA SE高级视频2 IO 自学笔记
- Android 自定义上面圆角下面直角的ImageView
- CI使用Memcached
- 自学Java系列 笔记2 Java类设计3
- String to Palindrome
- LeetCode6.7(Sort Colors)
- 自学Java系列 笔记2 高级类特性1
- Jquery之Ajax实例应用
- ListFragment简介与用法
- 面向对象设计的六大原则
- java学习笔记(十二) -- Swing先行(1)
- 乌克兰歌曲
- PDF-TXT-XML
- 自学Java系列 笔记2 高级类特性2
- AFNetWorking