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关键 ...
随机推荐
- C# MVC+NHibernate 分页
一.页面代码,分为三部分,一是查询条件部分,二是数据部分,二是页码条 <div id="ticketoutquery"> <table> <tr> ...
- Gin 项目引入热加载
目录 一.什么是热加载 二.Air 2.1 介绍 2.2 特性 特性: 2.3 相关文档 2.4 安装 推荐使用 install.sh 使用 go install 2.5 配置环境变量 2.6 使用 ...
- 西门子PLC高校作业以及创新项目
抢答器 在主持人按下启动按钮,3秒内
- 为游戏接入ios sdk的oc学习笔记
开发手机游戏,需要接入ios的sdk,截止2021年7月23日虽然swift已经推出一些年头,但对于大部分的渠道sdk,还是oc的代码. oc不仅仅用来开发ios,还是mac上的app开发语言 从新手 ...
- 用上了Jenkins,个人部署项目真方便!
作者:小傅哥 博客:https://bugstack.cn 项目:https://gaga.plus 沉淀.分享.成长,让自己和他人都能有所收获! 本文的宗旨在于通过简单干净实践的方式教会读者,如何在 ...
- CF940F Machine Learning题解
题目链接:洛谷 或者 CF 不是特别难的题,抽象下题意就是算区间次数出现的次数 mex 和带单点修改.看到范围 \(1e5\) 还带修改,传统的 mex 求法里貌似就莫队类算法好带修,考虑带修莫队. ...
- 【可观测性系列】 Opentelemetry 介绍
作者简介:大家好,我是蓝胖子 ️博客首页:博客园主页蓝胖子的编程梦 每日一句:人生的烦恼,多在于明白的太多,而做的太少 大家好,我是蓝胖子,随着微服务的流行,服务的可观测性概念被越来越多人提及到,究竟 ...
- AutoGPT是什么?超简单安装使用教程
1.AutoGPT 最近几天当红炸子鸡的是AutoGPT,不得不说AI发展真快啊,几天出来一个新东西,都跟不上时代的脚步了. AutoGPT是一个开源的应用程序,展示了GPT-4语言模型的能力.这个程 ...
- Linux shell 判断变量是否包含某个字符串的几种方法
方法一:利用grep查找 strA="long string" strB="string" result=$(echo $strA | grep "$ ...
- 文心一言 VS 讯飞星火 VS chatgpt (198)-- 算法导论14.3 6题
六.用go语言,说明如何来维护一个支持操作MIN-GAP的一些数的动态集Q,使得该操作能给出Q中两个最接近的数之间的差值.例如,Q=(1,5,9,15,18,22),则MIN-GAP返回18-15=3 ...