Java 关于继承小练习
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 关于继承小练习的更多相关文章
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- Java面向对象㈡ -- 继承与多态
Java的继承是通过extends和implement来实现的,Java不支持多继承,但是Java支持多层继承以及多实现(接口).Java继承有一个关键字super是用来指向父类.Java继承衍生出覆 ...
- [ Java学习基础 ] Java的继承与多态
看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...
- Java学习笔记二十九:一个Java面向对象的小练习
一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...
- java基础知识小小结
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- 20145229吴姗珊 《Java程序设计》小总结
20145229吴姗珊 <Java程序设计>小总结 教材学习内容总结 由于今天考试考到了操作题,根本无从下手,然后才意识到原来之前的学习都是蜻蜓点水,一味的把学习建立在给老师学,为家长学的 ...
- 新秀翻译(一个)——Java在继承和组合
阅读英文的程序猿的能力,这是非常重要的.过去的几年中一直在学习英语,今天心血来潮,在网上找什么鲍文简要翻译. 普通级,能力有限,看官还请大家多多指点. 译文: 本文将会举例说明Java中继承和组合的概 ...
- 隐身衣揭秘--java中继承/隐藏/覆写
故事背景 看过<哈利·波特>的娃们,想必一定还记得电影中的“隐形斗篷”..这件隐形衣是哈利收到的圣诞礼物,也是死亡圣器中的三件套之一,它让哈利小盆友在执行任务的过程中简直是如虎添翼! 其实 ...
- 1903021126-申文骏-Java第十一周作业-Java中继承、多态及抽象类的使用
项目 内容 课程班级博客链接 19级信计班(本) 作业要求链接 第十一周作业 博客名称 1903021126-申文骏-Java第十一周作业-Java中继承.多态及抽象类的使用 作业要求 每道题要有题目 ...
- java基础-继承
浏览以下内容前,请点击并阅读 声明 一个由其他类继承的类叫子类(也叫继承类,扩展类等),该类继承的类叫父类或超类.除了Object类意外,所有的类都有切仅有一个父类,如果一个类没有用extends关键 ...
随机推荐
- 宏观上看Spring创建对象的过程
宏观上看Spring创建对象的过程 对于对象而言,可以分为简单对象和复杂对象: 简单对象 简单对象指可以直接new的对象: Spring在创建这些对象时,是基于反射来完成的. 复杂对象 复杂对象指不能 ...
- 4.2 Inline Hook 挂钩技术
InlineHook 是一种计算机安全编程技术,其原理是在计算机程序执行期间进行拦截.修改.增强现有函数功能.它使用钩子函数(也可以称为回调函数)来截获程序执行的各种事件,并在事件发生前或后进行自定义 ...
- 零基础入门Vue之梦开始的地方——插值语法
一.Vue 我!作为初学者,既然要将Vue,那我一定要介绍一下他是什么?我们可以应用一下官方的话 vue的介绍 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与 ...
- 关于Oracle多租户架构下的每个PDB的dbtime查询
有客户咨询在19c多租户这样的架构中,除了查询cdb本身外,还想查询具体pdb的负载(DB Time),但是使用之前的脚本发现查询不到,只显示cdb自己的结果,客户写的脚本如下: SELECT i.i ...
- Python实现冒泡排序、选择排序、插入排序
排序与搜索 排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法. 排序算法的稳定性 稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序.也就是如 ...
- Power BI 3 DAY
目录 M函数基本表达式 注释 基本表达式 M函数基本变量类型 自定义函数 调用函数列表 if表达式 数据化结构 列表结构(List) 记录结构(Record)[ ] 表格结构(Table) M函数基本 ...
- JS leetcode 杨辉三角 超详细题解分析
壹 ❀ 引 刷leetcode的第四天,原题出处为杨辉三角,题目描述如下: 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. ...
- NC23501 小A的回文串
题目链接 题目 题目描述 小A非常喜欢回文串,当然我们都知道回文串这种情况是非常特殊的.所以小A只想知道给定的一个字符串的最大回文子串是多少,但是小A对这个结果并不是非常满意.现在小A可以对这个字符串 ...
- 一文总结 C++ 常量表达式、constexpr 和 const
TLDR 修饰变量的时候,可以把 constexpr 对象当作加强版的 const 对象:const 对象表明值不会改变,但不一定能够在编译期取得结果:constexpr 对象不仅值不会改变,而且保证 ...
- AIR32F103(十二) 搭载 AIR32F103CBT6 的Bluepill核心板
目录 AIR32F103(一) 合宙AIR32F103CBT6开发板上手报告 AIR32F103(二) Linux环境和LibOpenCM3项目模板 AIR32F103(三) Linux环境基于标准外 ...