Java的学习笔记(10)对象 五
对象09:什么是继承 extands 修饰关键字,扩展,继承
继承是类和类之间的关系。子类和父类之间在意义上应该具有“子类 is a 父类”
Java中只有单继承,没有多继承。“一个爸爸有多个儿子,一个儿子只有爸爸”: Object——>Persion
|——>Studnt
|——>Teacher
package oop.demo05;
public class Application {
public static void main(String[] args) {
Student student = new Student();
student.say();
}
} package oop.demo05;
//Persion是父类,Student和Teacher是派生类 // 子类继承了父类,就拥有了父类的全部方法 //public 公共 //protected 受保护的 //default 常规,默认 //private 私有,子类不能继承
//在java中所有的类 都默认继承Object类 // CTRL+ H 快捷键 查看层次结构
public class Persion {
public void say(){
System.out.println("说了一句话");
}
} package oop.demo05;
public class Student extends Persion{ //extends 继承了Persion的公共属性和公共方法 Student是Persio
} package oop.demo05;
public class Teacher extends Persion{ //extends 继承了Persion Teacher是Persion
} 对象10:Super详解(继承) super 注意点
super调用父类构造方法,必须在构造方法的第一个 super必须只能出现在子类的方法或者构造的方法中 super和this不能同时调用构造方法 VS this
代表的对象不同:
this :本身吊桶的是当前类的对象
super:是指父亲类的对象的应用
前提:
this:没有继承也可以用
super;只能在继承条件才可以使用
构造方法
this(); 调用本类的构造
super();调用父类的构造
package oop.demo05;
public class Application {
public static void main(String[] args) {
Student student = new Student();
student.say();
student.test("李白");
student.test1();
}
} package oop.demo05;
//Persion是父类,Student和Teacher是派生类 // 子类继承了父类,就拥有了父类的全部方法 //public 公共 //protected 受保护的 //default 常规,默认 //private 私有,子类不能继承
//在java中所有的类 都默认继承Object类 // CTRL+ H 快捷键 查看层次结构
public class Person {
public void say(){
System.out.println("说了一句话");
}
public void Person() {
System.out.println("Person无参执行");
}
protected String name = "zhangsan";
public void print(){
System.out.println("Person");
}
} package oop.demo05;
public class Student extends Person{ //extends 继承了Persion的属性 Student是Persio
private String name = "libai";
public void print(){
//执行顺序,先父后子
//隐藏代码,调用了父类的无参构造
//父类无参,子类的也无参
System.out.println("Student");
}
public Student() {
System.out.println("Student无参执行");
}
public void test(String name){
System.out.println(name); //李白
System.out.println(this.name); //libai
System.out.println(super.name); //zhangsan
}
public void test1(){
System.out.println("=================");
print(); //student
this.print(); //student
super.print(); //Persion super读取了父类的print方法。如果print方法被声名为private将不回被读出
}
}
相关文章
- Java要抛弃祖宗的基业,Java程序员危险了!
- 十大 Java 语言特性
- JVM 三色标记算法,原来是这么回事!
- 聊聊 Spring 事务控制策略以及 @Transactional 失效问题避坑
- 写给 Java 程序员的前端 Promise 教程
- 写给 Java 程序员的前端 Promise 教程,你学会了吗?
- Java 中为什么不全部使用 Static 方法?
- Java 池化技术你了解多少?
- Java 服务 Docker 容器化优秀实践
- Spring Boot + EasyExcel导入导出,简直太好用了!
- 我们一起聊聊 Java 内存泄漏
- CentOS 下安装 Docker 极简教程
- JDK 19 功能集冻结:Java 19 只有七个新特性
- 关于 CMS 垃圾回收器,你真的懂了吗?
- 为什么会有这么多编程语言?
- 改善Java代码的八个建议
- 接口流量突增,如何做好性能优化?
- Java 以编程方式创建JAR文件
- POJO、Java Bean是如何定义的
- Spring 的 Bean 明明设置了 Scope 为 Prototype,为什么还是只能获取到单例对象?