先贴代码后分析:

class Person {private int age;public void setAge(int age) {if (age < 0 || age > 200)age = 0;else {this.age = age;}}public int getAge() {return age;}   public void printInfo() {System.out.println("age = "+age);}public Person () {System.out.println("Person ()");}public Person (int age) {System.out.println("Person (int age)");this.age = age;}}class Student extends Person{private String school;public void setSchool(String school) {this.school = school;}public String getSchool() {return school;}   public Student(String school) {/* will call the super() *///super();super(5);System.out.println("Student(String school)");this.school = school;}/* override */public void printInfo() {System.out.println("school = "+school+"; age = "+getAge());}}public class Ext4 {public static void main (String args[]) {Student stu = new Student("ustc");//stu.setAge(10);System.out.println(stu.getAge());System.out.println(stu.getSchool());stu.printInfo();}
}

这段代码里面有技术含量的也就是:实现子类构造函数之前首先会调用父类的构造函数,但是如果父类构造函数有好几个,那实现哪一个构造函数呢?我们可以使用super()来代替父类。其中super要放到子类构造函数的首行。

abstract class Father {private int money;  public int getMoney() {return money; }public void setMoney(int money) {this.money = money; }public abstract void study();
}interface A {public static final int i = 10;public abstract int getNum();
}interface B {public static String name = "InterfaceB";public abstract String getName();
}class Son extends Father implements A,B{public int getNum() {return i;}public String getName() {return name;}public void study() {System.out.println("I am study"); }}public class Ext7 {public static void main (String args[]) {Son son = new Son();System.out.println(son.getName());son.study();}
}1. 抽象类抽象类的不能直接定义对象,必须间接通过子类继承抽象类之后再去定义对象,而且,抽象类的子类必须要首先实现抽象类的中的抽象方法。继承类时候,子类只能有一个父类。但是可以有多个接口。
2.interface中的成分即使你不去将成员定义为全局常量(如果你定义为私有或者protected会报错),以及虚函数,默认也是这个效果。在子类中,一定要实现接口中的虚函数。
3.父类中的私有成员,子类不能直接调用。父类中的public fuction1你不可以在子类中改成private fuction1。在父类中的private fuction1在子类中可以声明public fuction1方法的实现。
4.final类不再有子类,final方法不能被覆写,final变量成为常量,值不能被修改。

Java进阶day03继承相关推荐

  1. java进阶案例下载_java进阶案例

    java进阶案例: 数据类型,字符,数值,范围,布尔 :byte -128~127. 面向对象:protect :重载与构造 (一). this封装:static:继承:多态: 1.方法覆盖:supe ...

  2. Java进阶之对象克隆(复制)

    转载自   Java进阶之对象克隆(复制) 假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(bo ...

  3. JAVA进阶教学之(集合)

    目录 1.集合概述 2.集合存储的数据类型 3.不同的集合,底层都会对应不同的数据结构 4.集合继承结构图(部分接口和类) 5.Collection接口中常用的方法 6.Collection 集合迭代 ...

  4. Java进阶_3 注解、APT

    Java进阶_3 注解.APT 一.注解的概念 注解(Annotation) ​ 也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在 ...

  5. Java基础到Java进阶——Java小白的历练之路------从0到1,开卷!

    Java小白的历练之路------从0到1 title: Java Essay date: 2022-09-07 08:58:32 tags: Java notes 写在前面: 免责声明:本笔记来源自 ...

  6. 60.【Java 进阶】

    进阶篇 (一).静态变量 1.成员变量是private: 2.成员变量是public: 3成员变量是static (二).类的三种格式: 工具类: 代码展示: 工具类 测试类 JavaBean类.三则 ...

  7. Java 自学路线图之 Java 进阶自学

    文章目录 Java 自学路线图的第二阶段是 Java 语言进阶自学,在自学了第一阶段的 Java 基础自学后,大家对 Java 语言编程有了初步的了解和认识,建议在第一部分自学后整理一下自己的自学思路 ...

  8. 第十六讲 java进阶-API

    第十六讲 java进阶-重写equals方法的深度解读 1 接口的补充 接口为什么不能new对象?有没有必要new对象?或者是说如果能new对象,new出来的是什么东西?有什么内容,是否符合对象的特征 ...

  9. Java进阶:基于TCP的网络实时聊天室(socket通信案例)

    目录 开门见山 一.数据结构Map 二.保证线程安全 三.群聊核心方法 四.聊天室具体设计 0.用户登录服务器 1.查看当前上线用户 2.群聊 3.私信 4.退出当前聊天状态 5.离线 6.查看帮助 ...

最新文章

  1. 水稻微生物组时间序列分析3-冲击图展示时间序序列变化
  2. MMD_5a_Clustering
  3. mysql5.5.28安装详最后一个步骤时为啥一直转_mysql5.7.28下载、安装、登陆步骤详解...
  4. 熟悉Java String的使用,熟悉String的各种函数,Java中各种变量类型
  5. spring-JDBC
  6. 智能可穿戴迎来长续航焕新活力 出门问问TicWatch Pro 3即将国内上市
  7. 420集的python教程下载_阿里达摩院推荐的420集的python教程,据说懂中文就能入门高清版...
  8. 苹果cms模板_苹果cms是什么东西?
  9. redis深度历险 pdf_程序员面试必备精选文档:Redis+Ng+Tomcat+并发编程+Spring系列
  10. Linux主进程退出,主进程创建的线程会退出吗?
  11. Git:git pull 的使用
  12. Spring+Quartz 整合二:调度管理与定时任务分离
  13. 解决Docker容器中无法使用vim命令
  14. 【转】关于在.Net开发中使用Sqlite的版本选择问题
  15. lifeifei翻译目录
  16. Ural 1671. Anansi's Cobweb(并查集)
  17. Kotlin 笔记 纯属娱乐萌新大佬绕道
  18. WEB Workers 介绍
  19. RK3588-ROCK5B上手体验
  20. Matplotlib显示图例

热门文章

  1. 《20天吃透Pytorch》Pytorch自动微分机制学习
  2. leetcode881. 救生艇(贪心算法加双指针)
  3. 交互式图表_如何构建罗马数字转换器和交互式罗马数字图表
  4. ai物联网工业_人工智能和物联网将如何改变行业
  5. 交付方式 saas_我在全职工作时如何交付我的第一个SaaS副项目
  6. 永无止境_永无止境地死:
  7. 数据仓库项目分析_数据分析项目:仓库库存
  8. 海量数据寻找最频繁的数据_寻找数据科学家的“原因”
  9. 【Hankson 的趣味题】
  10. C# 中利用 Conditional 定义条件方法