面向对象 final abstract与接口
来源:互联网 发布:林黛玉漂亮吗 知乎 编辑:程序博客网 时间:2024/06/06 07:01
1、final
可以修饰类、函数、变量。
被final修饰的类不可以被继承。
被final修饰的方法不可以被复写。
被final修饰的变量是一个常量,只能被赋值一次,既可以修饰成员变量,又可以修饰局部变量。
内部类定义在类中局部位置上是,只能访问该局部被final修饰的局部变量。
2、abstract(抽象)
抽象方法一定定义在抽象类中。
抽象方法与抽象类必须被abstract修饰。
抽象类不可用new创建对象,必须由复写其所有的方法后,建立子类对象调用,如果子类只覆盖了部分方法,该子类还是一个抽象类。
抽象类比一般类中多了抽象函数,就是在类中定义抽象方法,抽象类不可以被实例化。
▲抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。
3、interface(接口)
接口定义时的特点:
接口中常见定义:常量,抽象方法。
接口中成员都有固定修饰符
- 常量:public static final;
- 方法:public abstract;
▲接口中成员都是public,(implements)
4、接口
不可以创建对象,因为有抽象方法。
需要被子类实现,子类对接口中抽象方法全部覆盖后,子类才可以实例化,否则子类是一个抽象类。
- 接口可以被类多次实现。
5、接口的特点
接口是对外暴漏的规则。
提高程序的功能扩展性。
接口可以用来多实现。
类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。
接口与接口之间有继承关系。
例:假如我们正在开发一个系统对员工进行建模,员工包括三个属性:姓名、工号、工资。经理也是员工,除了有员工的属性外,还有奖金。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 adstract void work();}class Manager extends Employee{ private int bonus; Manager(String name,String id,double pay,int bonus) { super(name,id,pay) super.bonus=bonus; } public void work(); { System.out.println("Manager work") }}class Pro extends Employee{ Pro (String name,String id,double pay) { super(name,id,pay) } public void work(); { System.out.println("Pro work") }}class Extendsdemo{ public static void main(String[] args) { Employee em = new Employee; Manager ma = new Manager; Pro pr = new Pro; }}
0 0
- 面向对象 final abstract与接口
- 修饰符static、final、abstract与接口
- 黑马程序员——面向对象特征二:继承,以及super,final,abstract关键字和接口知识
- Java重修之路(九)面向对象之final关键字,抽象类(abstract),接口(interface)
- corejava_static-final- abstract-接口
- static,final,abstract,接口
- 黑马程序员-面向对象 继承,final,接口
- 面向对象--继承、抽象、接口、final
- PHP类与对象 final static const abstract 关键字
- 面向对象、类与对象、成员与局部变量、封装、private、构造函数、this、static、extends、super、final、abstract、interface、多态、内部类、异常【5】
- PHP 面向对象 final类与final方法
- PHP 面向对象 final类与final方法
- PHP 面向对象 final类与final方法
- 9 面向对象(final关键字,多态,抽象类,接口)
- Java面向对象编程(3)--抽象类,接口,final
- Java面向对象编程(3)--抽象类,接口,final
- JAVA面向对象5:final关键字、抽象类和接口
- 黑马程序员--面向对象三(final、abstract、Interface、Object、内部类)
- spline和Pchips的不同(matlab)
- 2015-4-2C语言学习日记
- openSUSE 国内镜像汇总
- Unity3D Quaternion各属性和函数测试
- Interview: Wireless Bay Area Adventure with USRP B200 Software Defined Radio
- 面向对象 final abstract与接口
- 【C++常量折叠】改改const试试 _alibaba
- java中的sleep()和wait()的区别
- 自定义圆形背景的TextView
- solr4.x设置默认查询字段
- SDR Showdown: HackRF vs. bladeRF vs. USRP
- LeetCode - Sort List
- C++ 异常处理(三) exception类
- iOS之正则表达式(一)