1 package com.bytezero.inherit;
2
3 /*
4 * 面向对象的特征二:继承性
5 *
6 * 一.继承性的好处:
7 * ①减少了代码的冗余,提供了代码的复用性
8 * ②便于功能的拓展
9 * ③为之后的多态性,提供了前提
10 *
11 *
12 * 二.继承性的格式 class A extends B{}
13 * A:子类 派生类 subclass
14 * B:父类 超类 基类 superclass
15 *
16 * 体现:一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的:属性,方法
17 * 特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了
18 * 父类中的私有结构。
19 *
20 * 只是因为封装性的影响,使得子类不能直接调用父类的结构而已。
21 *
22 * 子类继承父类以后,还可以声明自己的属性和方法,实现功能的拓展。
23 *
24 * 子类和父类的关系,不同于集合和子集的关系。
25 *
26 * extends:延展,拓展
27 *
28 * 三.Java中关于继承性的规定
29 * 1.一个类可以被多个子类继承
30 * 2.单继承:一个类只能有一个父类 (C++可以多继承)
31 * 3.子父类是相对的概念。多层继承
32 * 4.子类直接继承的父类,成为:直接父类
33 * 子类间接继承的父类为:简介父类
34 * 5.子类继承父类以后,就获取了直接父类以及所有间接父类声明的属性和方法
35 *
36 * 四.1.如果我们没有显示的声明一个父类的话,则此类继承与 java.long.Object类
37 * 2.所有的Java类(除 java.long.Object类外),都直接或间接的继承 java.long.Object类.
38 * 3.意味着,所有Java类具有 java.long.Object类声明的功能。
39 *
40 */
41 public class ExtendsTest
42 {
43 public static void main(String[] args)
44 {
45 Person p1 = new Person();
46 // p1.age = 1;
47 p1.eat();
48 //p1.sleep();
49
50 p1.setAge(30);
51 System.out.println(p1.getAge());
52
53
54
55
56
57 Student s1 = new Student();
58 s1.eat();
59 //s1.sleep();
60 s1.name = "Tom";
61 s1.setAge(10);
62 System.out.println(s1.getAge());
63
64 s1.study();
65 s1.breath();
66
67
68 Creature c = new Creature();
69 c.toString();
70
71 }
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 }
1 package com.bytezero.inherit;
2
3 public class Creature //这个类 的父类是 java.long
4 {
5 public void breath()
6 {
7 System.out.println("呼吸");
8 }
9 }
 1 package com.bytezero.inherit;
2
3 public class Person extends Creature
4 {
5 String name;
6
7 //私有
8 private int age;
9
10 public Person()
11 {
12
13 }
14 public Person(String name ,int age)
15 {
16 this.name = name;
17 this.age = age;
18 }
19
20 public void eat()
21 {
22 System.out.println("吃饭");
23 sleep();//调用 私有方法 同类中可以调用
24 }
25
26 //私有
27 private void sleep()
28 {
29 System.out.println("睡觉");
30
31 }
32
33
34 public int getAge() {
35 return age;
36 }
37 public void setAge(int age) {
38 this.age = age;
39 }
40
41
42
43
44 }
 1 package com.bytezero.inherit;
2
3
4 public class Student extends Person
5 {
6 // String name;
7 // int age;
8 String major;
9
10 public Student()
11 {
12
13 }
14
15 public Student(String name,int age,String major)
16 {
17 //this.age = age;
18 setAge(age);
19 this.name = name;
20 this.major = major;
21 }
22
23 // public void eat()
24 // {
25 // System.out.println("吃饭");
26 // }
27 // public void sleep()
28 // {
29 // System.out.println("睡觉");
30 // }
31
32 public void study()
33 {
34 System.out.println("学习");
35 }
36 public void show()
37 {
38 System.out.println("name:"+name+",age:"+getAge());
39 }
40
41
42
43
44 }

Java 关于继承小练习的更多相关文章

  1. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  2. Java面向对象㈡ -- 继承与多态

    Java的继承是通过extends和implement来实现的,Java不支持多继承,但是Java支持多层继承以及多实现(接口).Java继承有一个关键字super是用来指向父类.Java继承衍生出覆 ...

  3. [ Java学习基础 ] Java的继承与多态

    看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...

  4. Java学习笔记二十九:一个Java面向对象的小练习

    一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...

  5. java基础知识小小结

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  6. 20145229吴姗珊 《Java程序设计》小总结

    20145229吴姗珊 <Java程序设计>小总结 教材学习内容总结 由于今天考试考到了操作题,根本无从下手,然后才意识到原来之前的学习都是蜻蜓点水,一味的把学习建立在给老师学,为家长学的 ...

  7. 新秀翻译(一个)——Java在继承和组合

    阅读英文的程序猿的能力,这是非常重要的.过去的几年中一直在学习英语,今天心血来潮,在网上找什么鲍文简要翻译. 普通级,能力有限,看官还请大家多多指点. 译文: 本文将会举例说明Java中继承和组合的概 ...

  8. 隐身衣揭秘--java中继承/隐藏/覆写

    故事背景 看过<哈利·波特>的娃们,想必一定还记得电影中的“隐形斗篷”..这件隐形衣是哈利收到的圣诞礼物,也是死亡圣器中的三件套之一,它让哈利小盆友在执行任务的过程中简直是如虎添翼! 其实 ...

  9. 1903021126-申文骏-Java第十一周作业-Java中继承、多态及抽象类的使用

    项目 内容 课程班级博客链接 19级信计班(本) 作业要求链接 第十一周作业 博客名称 1903021126-申文骏-Java第十一周作业-Java中继承.多态及抽象类的使用 作业要求 每道题要有题目 ...

  10. java基础-继承

    浏览以下内容前,请点击并阅读 声明 一个由其他类继承的类叫子类(也叫继承类,扩展类等),该类继承的类叫父类或超类.除了Object类意外,所有的类都有切仅有一个父类,如果一个类没有用extends关键 ...

随机推荐

  1. .NET 使用Camunda快速入门

    简介参考:https://www.cnblogs.com/lvdeyinBlog/p/16095603.html 一.工作流介绍 1. 什么是工作流 工作流(Workflow),是对工作流程及其各操作 ...

  2. Flask 框架实现自定义分页

    手撸的表格分页: Flask框架下的分页,我研究了很久,自带的分页方法不稳定,还不如自己手撸的好使. <!--name:ndex.html--> <!DOCTYPE html> ...

  3. “I/O多路复用”和“异步I/O”的前世今生

    曾经的VIP服务在网络的初期,网民很少,服务器完全无压力,那时的技术也没有现在先进,通常用一个线程来全程跟踪处理一个请求.因为这样最简单.其实代码实现大家都知道,就是服务器上有个ServerSocke ...

  4. 2000元内最超值游戏处理器!锐龙5 7500F首发评测:轻松超频5.6GHz游戏追平i5-13600K

    一.前言:首款不带核显的锐龙7000处理器 以往的桌面锐龙处理器,带核显型号的很少,而到了Zen4时代,此前已上市的锐龙7000系列处理器都集成了核显. 现在,AMD锐龙5 7500F来了,这是AMD ...

  5. P8575 「DTOI-2」星之河 题解

    题目链接:星之河 比较经典的偏序问题.区别于强制在线类算法:树套树之类的,对于偏序问题,我们有许多种优秀的离线算法,比如此篇要讲的 cdq 分治. 它更偏向于一种思想,它的思想使得它对偏序类问题,往往 ...

  6. Arduino-电位器调节led

    Arduino-电位器调节led 电位器相关: 电位器是具有三个引出端.阻值可按某种变化规律调节的电阻元件.电位器通常由电阻体和可移动的电刷组成.当电刷沿电阻体移动时,在输出端即获得与位移量成一定关系 ...

  7. 基本数据类型(primitive type)

    数据类型 数据类型分为基本数据类型(primitive type)和引用数据类型(reference type) 基本数据类型(primitive type) 数值类型 整数类型 浮点类型 字符类型 ...

  8. TortoiseSVN 官网打不开,去哪下最新的软件和中文包?

    官网:https://tortoisesvn.net 能打开最好,但通常打不开,打不开时候去这个网站下: https://sourceforge.net/projects/tortoisesvn/ 这 ...

  9. Wamp MySQL 报错 Got a packet bigger than 'max_allowed_packet' bytes

    点击电脑右下角wamp图标,然后进入mysql 下面的 my.ini 转移数据发现报这个错,字面意思允许的不够大.网上很多说法不起作用,解决方法如下: [mysqld] port=3306 expli ...

  10. python高级用法之命名元组namedtuple

    1.tuple类型数据的获取 大家都知道,元组里面的数据获取只能通过下标的方式去获取,比如 :a = ('username', 'age', 'phone'),要获取username的话 ,就需要用a ...