* 一、面向对象的特征二:继承性

* 1.为什么要设计继承性?
 *
 * 2.通过"class A extends B"类实现类的继承。
 *   子类:A  父类(或基类 SuperClass):B
 *   
 * 3.子类继承父类以后,父类中声明的属性、方法,子类就可以获取到。
 *    明确:当父类中有私有的属性或方法时,子类同样可以获取得到,只是由于封装性的设计,使得子类不可以直接
 *        调用罢了。
 *   子类除了通过继承,获取父类的结构之外,还可以定义自己的特有的成分。
 *   
 *   extends:子类是对父类功能的“扩展”,明确子类不是父类的子集。
 *   
 * 4.java中类的继承性只支持单继承:一个类只能继承一个父类。反之,一个父类可以有多个子类。
 * 5.子父类是相对的概念。
 *
 * 二、方法的重写   ---(方法的重载)     修饰符  返回值类型 方法名 (参数列表){}
 * 1.前提:有子类继承父类
 * 2.子类继承父类以后,若父类的方法对子类不适用,那么子类可以对父类的方法重写(override overwrite)、覆盖、覆写。
 * 3.重写的规则:  1)要求子类方法的“返回值类型 方法名 (参数列表)”与父类的方法一样
 *               2)子类方法的修饰符不能小于父类方法的修饰符
 *               3)*若父类方法抛异常,那么子类方法抛的异常类型不能大于父类的。
 *               4)*子父类的方法必须同为static或同为非static的。
  1 public class TestExtends {
  2     public static void main(String[] args) {
  3         Student s = new Student();
  4         s.eat();
  5
  6         Worker w = new Worker();
  7         w.eat();
  8
  9         Person p = new Person();
 10         p.eat();
 11
 12         s.setAge(12);
 13         s.setName("麻华龙");
 14         System.out.println(s.getName() + ":" + s.getAge());
 15
 16         Graduate g = new Graduate();
 17         g.eat();
 18         g.info();
 19         g.show();
 20     }
 21 }
 22
 23 class Person {
 24     private String name;
 25     private int age;
 26
 27     public String getName() {
 28         return name;
 29     }
 30
 31     public void setName(String name) {
 32         this.name = name;
 33     }
 34
 35     public int getAge() {
 36         return age;
 37     }
 38
 39     public void setAge(int age) {
 40         this.age = age;
 41     }
 42
 43     public void eat() {
 44         System.out.println("吃饭");
 45     }
 46
 47     void walk() {
 48         System.out.println("走路");
 49     }
 50     private void sleep(){
 51
 52     }
 53 }
 54
 55 class A{
 56
 57 }
 58
 59 class Student extends Person{
 60 // class Student extends Person,A{
 61 //    private String name;
 62 //    private int age;
 63     private String schoolName;
 64
 65     public Student(){
 66
 67     }
 68     public Student(String name,int age){
 69 //        this.name = name;
 70 //        this.age = age;
 71         this.setName(name);
 72         this.setAge(age);
 73     }
 74
 75 //    public String getName() {
 76 //        return name;
 77 //    }
 78 //    public void setName(String name) {
 79 //        this.name = name;
 80 //    }
 81 //    public int getAge() {
 82 //        return age;
 83 //    }
 84 //    public void setAge(int age) {
 85 //        this.age = age;
 86 //    }
 87 //
 88 //    对父类同名的方法的重写、覆盖
 89     public void eat(){
 90         System.out.println("应该多吃有营养的");
 91     }
 92     public void walk(){
 93         System.out.println("背着书包蹦蹦跳跳的走路");
 94     }
 95     public void info(){
 96         eat();
 97         //System.out.println("name:" + name);
 98         System.out.println("我是一个学生");
 99     }
100     //不是对父类私有的sleep()方法的重写。
101     private int sleep(){
102         return 0;
103     }
104
105 }
106
107
108
109 class Worker extends Person{
110     public void eat(){
111         System.out.println("工人吃饭");
112     }
113
114      public void walk(){
115
116      }
117 }
118
119 class Graduate extends Student{
120     public void show(){
121         System.out.println("我是一个研究生");
122     }
123 }

转载于:https://www.cnblogs.com/zhangfan94/p/4263272.html

JAVA学习--面向对象的特征二:继承性相关推荐

  1. 面向对象的特征二 继承性

    有相同的属性和方法都可以提取出来, 就形成了一个公共的部分,公共的部分形成一个类,其他类有一样的属性和方法的时候 不用在自己类里面在写出来,直接就公共的类中调用即可. 总结,造一个公共类,里面的属性和 ...

  2. Java基础-面向对象第二特征之继承(Inheritance)

    Java基础-面向对象第二特征之继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序 ...

  3. Java中面向对象三大特征总结

    JAVA中面向对象的三大特征: 面向对象具有继承性(Inheritance) 面向对象具有多态性(Polymorphism) 面向对象具有封装性(Encapsulation) 一.继承 多个类具有共同 ...

  4. Java面试面向对象三大特征,Java面试经典基础问答三

    1. 写clone()方法时,通常都有一行代码,是什么? 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对 ...

  5. Java原理 面向对象的特征与“六原则一法则”

    面向对象的特征 主要有抽象.继承.封装和多态四个方面,下面是我们来详细分析它们的含义: - 抽象: 抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属 ...

  6. Java基础(面向对象三大特征)

    面向对象三大特征 封装 继承 多态 1.封装 封装,顾名思义就是将一个东西通过层层包装裹起来,例如c语言中的结构体,将属性和方法封装在一起.更加具体的,发达国家对发展中国家进行技术垄断就是通过将高科技 ...

  7. java面向对象的特征二:继承性 —(14)

    1.为什么要有类的继承性?(继承性的好处) ① 减少了代码的冗余,提高了代码的复用性 ② 便于功能的扩展 ③ 为之后多态性的使用,提供了前提 图示: 2.继承性的格式: class A extends ...

  8. Java学习-面向对象进阶二

    目录 1 日期与时间 1.1 Date类 1.2 Date类 1.3 练习--秒杀活动 1.4 Calender 1.5 JDK8新增API 1.5.1 概述 1.5.2 LocalDate.Loca ...

  9. Java学习——面向对象编程思想

    目录 一. 基本概念 二. 面向对象与面向过程的区别 三. 面向对象程序设计的类与对象 3.1 对象 3.2 类 四. 面向对象的四大特征 4.1 抽象 4.2 继承 4.3 封装 4.4 多态 1) ...

最新文章

  1. 在一个空的Eclipse中安装Android开发的ADT和SDK
  2. 如何用Windows Live Writer写网易博客
  3. WPF企业内训全程实录(中)
  4. h5通过php微信支付宝支付,用H5调用支付微信公众号支付的解析
  5. Oracle中输出一个变量
  6. 上手测试GaussDB(for Redis) 和开源 Redis,只为推荐质优价廉的Redis
  7. sql找出2000-3000年中的闰年。_跟飞哥学编程:SQL入门-4-查询和条件
  8. 百度云部署SSL证书
  9. python Pandas文件读写
  10. android打开ofd文件
  11. Component template should contain exactly one root element. If you are using v-if on multiple eleme
  12. 使用phpStudy显示3306端口被占用,该怎么办?
  13. promise是什么?
  14. couldn't set locale: correctly报错的解决
  15. html复习第七天 京东首页布局完成
  16. 整数、长整型、浮点型、字符串
  17. 抖音点亮蓝v多少钱?有啥好处-万顿思电商
  18. Google账户_GooglePlay_关联
  19. 内核二分缺陷_缺陷跟踪
  20. 智能优化算法:爬行动物搜索算法-附代码

热门文章

  1. FPGA构造spi时序——AD7176为例(转)
  2. 配置web项目session永不超时
  3. 好书推荐之《活着》 隐私策略(Privacy policy)
  4. Ubuntu Server 13.04安装图形界面
  5. c++中堆、栈内存分配概念示例讲解
  6. MFC VC 双缓冲绘图基本原理与实现,详细解释
  7. 关于指针,可能是网上最详细的讲解了
  8. Android—AspectJ实践
  9. iOS15仿微信详情二维码支持保存本地相册
  10. mysql pdo 读取字段名_PHP使用PDO从mysql读取大量数据处理详解