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关键 ...
随机推荐
- minIO系列文章04---windows下安装及在.netcore使用
一.minio下载与启动 下载后会有一个minio.exe文件,放到指定的目录 在该目录下运行:minio.exe server D:\minio\file 出现如下的提示代码启动动成功: 浏览器中 ...
- python2和python3的版本历史及入门书籍
python版本历史 我们端游项目使用是python2.7版本 32位 python2 2.7.18 last version on 2020.4.20 2.7 first version on 20 ...
- 微信小程序-双线程渲染模型
微信小程序双线程渲染模型 小程序的运行环境分成渲染层和逻辑层: WXML 模板和 WXSS 样式工作在渲染层,通过 WebView 进行渲染 小程序会为每一个界面都创建一个 WebView 来渲染这个 ...
- python处理Excel实现自动化办公教学(含实战)【二】
相关文章: python处理Excel实现自动化办公教学(含实战)[一] python处理Excel实现自动化办公教学(含实战)[二] python处理Excel实现自动化办公教学(数据筛选.公式操作 ...
- 5.10 Windows驱动开发:摘除InlineHook内核钩子
在笔者上一篇文章<内核层InlineHook挂钩函数>中介绍了通过替换函数头部代码的方式实现Hook挂钩,对于ARK工具来说实现扫描与摘除InlineHook钩子也是最基本的功能,此类功能 ...
- C/C++ 实现Socket交互式服务端
在 Windows 操作系统中,原生提供了强大的网络编程支持,允许开发者使用 Socket API 进行网络通信,通过 Socket API,开发者可以创建.连接.发送和接收数据,实现网络通信.本文将 ...
- Win12不会取代Win11!真正目标是Google
Windows 11之后自然应该是Windows 12,但这一次不太一样. 据多个消息源确认,Windows的下一个重大版本将不会是Windows 11的直接升级版,而是更专注于云和Web,同时大力接 ...
- 小知识:在Exadata平台上使用ExaWatcher收集信息
在非Exadata平台上,我们通常会使用DBA已经很熟悉的OSW,如果有不熟悉的朋友可以参考我之前的随笔初步了解OSW: OSW 快速安装部署 OSW Analyzer分析oswbb日志发生异常 而在 ...
- 蓝鲸:主机频繁提示“You have new mail in /var/spool/mail/root” 定位解决
前些天安装蓝鲸的测试环境频繁出现You have new mail in /var/spool/mail/root,查看发现是/usr/local/gse/agent/bin/gsectl: line ...
- .NET 云原生架构师训练营(模块二 基础巩固 Host)--学习笔记
2.2.4 核心模块--Host 什么是 Host Host 的默认配置做了哪些事情 框架提供的服务 HostedService 后台服务 ASP.NET Core Web 主机:https://do ...