Java day05 继承 extends
2016-03-17 11:20
363 查看
//继承 /* java只支持单继承,即某类只能延续一个类 ∵当多个父类定义了同名方法,而方法功能不同时,子类不知道该继承哪一个 但是用多实现可以 完成与多继承同样的功能 当父类和子类中有同名同类型不同值成员属性,或者函数声明相同,函数体不同的成员方法时,以子类为准———重写,覆盖 ——用于程序扩展 ———前提:子类(方法)权限>=父类(方法),若父类(方法)权限为private则无意义 super指代父类的引用 子类默认也 执行父类的显式无参构造函数,若父类中没有显式无参构造函数,则发生错误,除非父类有含参构造函数,那么,子类构造函数中super()必须显式写出,且带参数 子类的构造函数形式 子类名(……) { super();//函数体内 第一行,这一句是隐含的,它访问父类中空参数的构造函数 ……………… } 为什么这么设计? 构造函数的功能通常是对属性进行初始化,因而子类须知道父类是如何对属性进行操作的 */ class People {//People是Student和Worker的共性的抽取 People() { System.out.println("LALALA"); } String name; int age; void show() { System.out.println("I'm a man"); } } class Student extends People {//Student是People的延续 void study() { System.out.println("studying"); } void show() { super.show(); System.out.println("I'm a student"); } } class Worker extends People { void work() { System.out.println("working"); } } class ExtendsDemo { public static void main(String[] args) { Student s=new Student(); s.study(); s.show(); } }
若去掉Student类中的show方法中的第一行super.show(),程序运行结果是
相关文章推荐
- 配置Java的环境变量
- Java——SAX解析XML文件
- SpringMvc微信JS-API获取地理位置
- [Java]不重复随机数生成简易算法
- Eclipse与MyEclipse的选择问题
- spring jms + activemq + maven搭建
- eclipse 新建 Dynamic Web Project时jsp文件404错误的解决办法
- Java中使用正则表达式
- Spring3.x JSR-303
- spring3
- Java day05 final 关键字
- spring3定时器简单配置
- Java day04 生成工具类文档
- java下的printf(jdk1.5+)
- Java day04 静态static,静态代码块
- java线程sleep()和wait()的区别
- springmvc配置一:ajax请求防止返回中文乱码配置说明
- Android Studio导入Eclipse的library工程
- java运算符优先级
- ubuntu安装jdk