final关键字和抽象类的个人理解及总结
来源:互联网 发布:怎么成为淘宝服务商 编辑:程序博客网 时间:2024/06/06 20:08
首先就是我关于final关键字的一些理解。
final作为一个修饰符,那么它有什么什么特点呢?
1.可以修饰类,函数,变量。
2.被final修饰的类不可以被继承。通常为了避免被继承,被子类复写功能而使用。
3.被final修饰的方法不可以被复写。
4.被final修饰的变量是一个常量只能赋值一次,既可以修饰成员变量,又可以修饰局部变量。
5.内部类只能访问被final修饰的局部变量。
当在描述事物时,一些数据的出现值是固定的,那么这时为了增强阅读性,都给这些值起个名字,方便于阅读。
而这些值不需要改变,所以加上final修饰。被final修饰的常量的书写要求所有的字母都大写,如果由多个单词组
成,则单词通过 _ 连接,例如:
public static final double MY_PI=3.14;
关于final目前就说这么多把,毕竟自己学的不是太深入,以后会做一些延伸和拓展。那么再来说下关于抽象类的
相关知识。
当多个类中出现相同功能,但是功能主体不同。这时可以进行向上抽取,这时,只抽取功能定义,而不抽取功能
主体。那么抽象类有那些特点呢?
1.抽象方法一定定义在抽象类中。
2.抽象方法和抽象类都必须被abstract关键字修饰。
3.抽象类不可以用new创建对象,因为调用抽象方法没有意义。
4.抽象类中的抽象方法要被使用,必须由子类复写其所有的抽象方法后建立子类对象调用。如果子类只覆盖了部
分抽象方法,那么该子类还是一个抽象类。
那么在什么情况下才需要定义抽象类呢?
在描述事物的过程中,该如何描述事物就如何描述事物,只不过该事物中出现了一些未知的部分。这些不确定的
部分,也是该事物的功能,需要明确出来,但是无法定义主体。(abstract void study();不要大括号)这种情况下一般就
要通过抽象方法来表示。
抽象类比一般类多了抽象函数。也就是在类中可以定义抽象方法。并且抽象类不可以实例化。
特殊情况下,抽象类中可以不定义抽象方法,但是这样做仅仅是为了不让该类建立对象。
下面上一道关于抽象类的小练习。很简单,只是为了熟悉下抽象类的相关操作。
package Test;/** * 假如我们在开发一个系统时,需要对员工进行建模,员工包含3个属性: * 姓名,工号以及工资。经理也是员工,除了含有员工的属性外,另外还 * 有一个奖金属性。请使用继承的思想设计出员工类和经理类,要求类中 * 提供必要的方法进行属性访问。 * @author 淼淇 * */abstract class Employee{private String name;private String id;private double pay;Employee(String name, String id, double pay){this.name = name;this.id = id;this.pay = pay;}public abstract void work();//定义抽象方法,让子类去实现(复写),因为不确定其他调用的子类如何工作}class Manager extends Employee{private int bonus;Manager(String name, String id, double pay, int bonus){super(name, id, pay);this.bonus = bonus;}public void work(){System.out.println("Manager Work");}}public class Test013 {public static void main(String[] args) {// TODO Auto-generated method stubManager ma = new Manager("zhangsan", "0915026105", 6000, 2000);ma.work();}}
关于对抽象类和final关键字的总结,暂时告一段落。到目前已经学了2个可以修饰类的关键字,一个是public,一
个是final。现在对学习的兴趣越来越浓厚了,坚持,努力,加油!~
- final关键字和抽象类的个人理解及总结
- 抽象类和接口及final关键字
- 抽象类及final关键字。
- final关键字及抽象类
- 抽象类和关键字final
- java中的final关键字、抽象类及接口的定义
- final关键字和抽象
- 接口和抽象类的个人理解
- final关键字、抽象类和接口
- final关键字、抽象类
- java— 抽象类、接口、final、的理解和例子
- Java关键字static和final的理解
- final 关键字的理解
- final关键字的理解
- Java关键字final、static,抽象类,接口使用总结
- Java关键字final、static 抽象类 接口使用总结
- Java关键字final、static 抽象类 接口使用总结
- Java关键字final、static,抽象类,接口使用总结收藏
- [LeetCode5]Longest Palindromic Substring
- 特征选择(三)-K-L变换
- 云存储==统一存储
- linux下安装或升级GCC4.8,以支持C++11标准
- java自学之路-----集合(List Set ) 泛型
- final关键字和抽象类的个人理解及总结
- 安装openstack
- JSP页面表单提交时出现中文乱码的解决方法
- mysql主从复制
- 使用mysqldump工具备份还原Mysql数据库实例及参数详细说明
- mysql主从同步验证工具
- tomcat连接mysql数据库(1)
- InnoDB体系架构简介
- 分割文件(待讨论)