三大修饰符总结

今天就所学知识, 对Java中三个修饰符做一个简单的总结

abstract关键字(要求子类强制重写父类的方法)

abstract使用总结:
	1. abstract修饰的方法没有方法体
	2. abstract修饰的方法必须定义在abstract修饰的类内或者interface接口内
	3. 一个普通类【非abstract】修饰的类,继承了一个abstract类,那么必须实现在abstract类内的所有abstract修饰的方法,强制要求
	4. 如果一个abstract A类继承另一个abstract B类,A类可以选择实现B类中abstract方法。
	5. abstract修饰的类内允许普通方法
	6. abstract修饰的类不能创建自己的类对象!!!
	【原因】
		abstract修饰的类内有可能存在abstract修饰的方法,而abstract修饰的方
		法是没有方法体的,如果说创建了abstract修饰类对应的对象,不能执行没
		有方法体的abstract方法
	7. 一个类内没有abstract修饰的方法,那么这个类定义成abstract类有意义吗?
	没有必要的!!!无意义的!!!

static关键字 (静态)

static可以用来共用类变量(静态属性)、类方法(静态方法)、常量(静态常量)、代码块或初始代码块(静态代码块)、内部类

1. 静态成员变量是使用static修饰的成员变量,定义在内存的【数据区】
2. 静态成员变量不推荐使用类对象调用,会提示警告
	The static field SingleDog.info should be accessed in a static way
	使用static修饰的SingleDog类内的info成员变量,应该通过静态方式访问
3. 静态成员变量使用类名调用是没有任何的问题。【墙裂推荐方式】
4. 在代码中没有创建对象时,可以通过类名直接使用静态成员变量,和【对象无关】
5. 代码中对象已经被JVM的GC销毁时,依然可以通过类名调用静态成员变量,和【对象无关】
6. 不管通过哪一种方式调用静态成员变量,修改对应的静态成员变量数据,所有使用到当前静态成员变量的位置,都会受到影响。

final关键字(最终的)

final修饰的成员变量
	final修饰的成员变量定义时必须初始化,并且赋值之后无法修改,一般用于类内带有名字的常量使用
final修饰的成员方法
	final修饰的成员变量不能被子类重写,为最终方法,可以用于一些安全性方法的定义
final修饰的局部变量
	final修饰的局部变量一旦被赋值,不能修改!
final修饰的类
	final修饰的类没有子类,不能被继承。
	abstract修饰的类不能被final修饰。

发布了3 篇原创文章 · 获赞 4 · 访问量 167

猜你喜欢

转载自blog.csdn.net/wangjizhan2010/article/details/104502020