Java 继承01
继承
●示例
class Person {
public String name;
Person(){
System.out.println("Person Constrctor...");
}
}
public class Husband extends Person{
Husband(){
System.out.println("Husband Constructor...");
}
public static void main(String[] args) {
Husband husband = new Husband();
}
}
/*结果
* Person Constrctor...
* Husband Constructor...
* 子类:Husband 继承 父类:Persion
*/
子类拥有父类的非private的属性、方法
问:私有属性和方法能不能被继承?答:不能,因为不能被调用。
子类可以拥有自己的属性和方法,即子类可以对父类进行扩展
在java中,类和类之间是单继承关系(一个类只能继承一个父类)
类 和 类 单继承
类 和 接口 多实现
接口 和 接口 多继承
继承的关键字:extends、implements
当一个类没有继承的两个关键字,则默认继承object (java.lang.object)
public class Test{
public static void main(String[] args) {
System.out.println("---a---");
Animal a = new Animal();
System.out.println("---a2---");
Animal a2 = new Animal("dog",888);
System.out.println("---p---");
Person p = new Person();
System.out.println("---p2---");
Person p2 = new Person("China", 666);
System.out.println("-------");
p.atcivity();
//instanceof 判断对象是否是某个类的实例
System.out.println(p instanceof Animal);
System.out.println(p instanceof Person);
}
}
class Animal{
public int id;
public String name;
public int age;
//如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器。
Animal(){
System.out.println("动物世界:Animal()");
}
//如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表。
Animal(String name, int age){
System.out.println("动物世界:Animal(String name, int age)" + name + "," + age);
}
void eat(){
System.out.println("动物会吃食物");
}
//final类型的方法不能被子类重写
final void run(){
System.out.println("动物会活动");
}
}
//子类继承父类
class Person extends Animal{
//新增属性country
public String country;
//子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式)。
Person(){// 自动调用父类的无参数构造器
System.out.println("人类的世界:Person()");
}
Person(String country, int age){
super("China", 666);
System.out.println("人类的世界:Person(String country, int age)"+ country + "," + age);
}
//重写父类的方法
@Override //添加这个注释 未报错 重写成功。
void eat(){
System.out.println("人类是杂食性动物");
}
/* 报错,因为final类型的方法不能被子类重写
* void run(){
System.out.println("-------");
}*/
void atcivity(){
super.run();
super.eat();//super 指向父类的引用
this.eat();//this 指向自己的引用
}
}
运行结果:
---a---
动物世界:Animal()
---a2---
动物世界:Animal(String name, int age)dog,888
---p---
动物世界:Animal()
人类的世界:Person()
---p2---
动物世界:Animal(String name, int age)China,666
人类的世界:Person(String country, int age)China,666
-------
动物会活动
动物会吃食物
人类是杂食性动物
true
true
Java 继承01的更多相关文章
- 111 01 Android 零基础入门 02 Java面向对象 04 Java继承(上)02 继承的实现 01 继承的实现
111 01 Android 零基础入门 02 Java面向对象 04 Java继承(上)02 继承的实现 01 继承的实现 本文知识点: 继承的实现 说明:因为时间紧张,本人写博客过程中只是对知识点 ...
- [Java 教程 01] Hello,Java!
前言 从事编程已经有一段时间了,突然发现,Java作为我的第一编程语言,自己似乎对她并有一个系统的思想.当下Java依旧保持着超高的热度,新特性也不断出现,从当初学习的java6版本到最近刚出的jav ...
- java基础 01
java基础01 1. /** * JDK: (Java Development ToolKit) java开发工具包.JDK是整个java的核心! * 包括了java运行环境 JRE(Java Ru ...
- 087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点
087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点 本文知识点:封装的概念和特点 说明:因为时间紧张,本人写博客过程中只是对 ...
- Java继承与组合
Java继承与组合 继承 java 中使用extends关键字表示继承关系,当创建一个类时,如果没有明确指出要继承的类,则是隐式地从根类Object进行继承. 子类继承父类的成员变量 子类能够继承父类 ...
- JAVA继承时构造函数的问题
今天看到java继承部分时,关于构造函数是否继承以及如何使用时遇到了点问题,后来查找相关资料解决了. 下面是我个人的总结: 先创建一个父类,里面有两个构造函数: public class Jisuan ...
- Java继承和接口
接口最关键的作用,也是使用接口最重要的一个原因:能上溯造型至多个基础类.使用接口的第二个原因与使用抽象基础类的原因是一样的:防止客户程序员制作这个类的一个对象,以及规定它仅仅是一个接口.这样便带来了一 ...
- Java继承的初始化
/** * Created by xfyou on 2016/11/2. * Java继承的初始化 */ public class Beetle extends Insect { int k = pr ...
- Java—继承、封装、抽象、多态
类.对象和包 1) 面向对象编程(Object Oriented Programming ,简称 OOP):20世纪70年代以后开始流行. 2) 结构化编程与面向对象编程的区别: A. 在结构化编程中 ...
随机推荐
- 【LeetCode】801. Minimum Swaps To Make Sequences Increasing 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 参考资料 日期 题目地址:https:// ...
- 关于python常用的命令
os模块: os.system os.system("cat/cmd等...") os.popen print os.popen("adb shell ls ../aa. ...
- ADAM : A METHOD FOR STOCHASTIC OPTIMIZATION
目录 概 主要内容 算法 选择合适的参数 一些别的优化算法 AdaMax 理论 代码 Kingma D P, Ba J. Adam: A Method for Stochastic Optimizat ...
- Linux环境下Django App部署到XAMPP上
Django App部署到XAMPP上 准备工作 首先一定要保证自己的代码在本地可以运行! 同时在服务器上把需要的库,什么数据库之类的都装好! 源码安装mod_wsgi 从mod_wsgi的gitgu ...
- CapstoneCS5265设计替代CH7211 |Type-C转HDMI2.0方案|替代CH7211
龙迅Chrontel的CH7211是一款Type-C转HDMI2.0半导体设备,可通过USB Type-C连接器将DisplayPort信号转换为HDMI/DVI.这款创新的基于USB Type-C的 ...
- Java初学者作业——学生成绩等级流程图练习
返回本章节 返回作业目录 在Word 中编写算法实现学生成绩等级的输出,并绘制对应算法的流程图. 功能要求:输入学生成绩,输出对应成绩等级,输出规则如下: 学生成绩区间 对应成绩等级 [90,100] ...
- 使用 jQuery 操作页面元素的方法,实现浏览大图片的效果,在页面上插入一幅小图片,当鼠标悬停到小图片上时,在小图片的右侧出现与之相对应的大图片
查看本章节 查看作业目录 需求说明: 使用 jQuery 操作页面元素的方法,实现浏览大图片的效果,在页面上插入一幅小图片,当鼠标悬停到小图片上时,在小图片的右侧出现与之相对应的大图片 实现思路: 在 ...
- 中文字体css编码转换
各大网站的字体选择 网站 字体 腾讯 font: 12px "宋体","Arial Narrow",HELVETICA; 淘宝 font: 12px/1.5 t ...
- AES对称加密算法实现:Java,C#,Golang,Python
高级加密标准(Advanced Encryption Standard,简写AES),是一种用来替代DES的对称加密算法,相比DES,AES安全性更高,加密速度更快,因此被广泛使用. 理论上看,AES ...
- 实践剖析.NET Core如何支持Cookie和JWT混合认证、授权
前言 为防止JWT Token被窃取,我们将Token置于Cookie中,但若与第三方对接,调用我方接口进行认证.授权此时仍需将Token置于请求头,通过实践并联系理论,我们继续开始整活!首先我们实现 ...