Java面向对象—继承

简介: Java面向对象—继承

概述:


1、多个类相同的属性和功能抽取成另一个类, 让具有特有功能的类继承这个类. 2、通过 extends 关键字可以实现类与类的继承


格式:


class 子类名 extends 父类名 {}


特点 :


1、一个类只能有一个父类,不能有多个父类 2、Java 支持多层继承


package cn.czbk.no5;
public class TestExtends {
public static void main(String[] args) {
C c=new C();
c.ashow();
c.bshow();
A a=new A();
B b=new B();
a.apshow();
System.out.println(b.a);
}
}
class A{
private int a;
public void ashow(){
System.out.println("A class");
}
private void aprshow(){
System.out.println("A private show不可被外界访问");
}
protected void apshow(){
System.out.println("A protected show");
}
}
class B extends A{
protected String a="protected String";
public void bshow(){
System.out.println("B class");
}
}
class C extends B{}

继承的注意事项

1、子类只能继承父类所有非私有的成员(成员方法和成员变量)

2、子类不能继承父类的构造方法

3、不要为了部分功能而去继承

package cn.czbk.no5;
public class TestExtends1 {
public static void main(String[] args) {
CC cc=new CC();
}
}
class AA{
public AA(String a){
System.out.println(a);
}
}
class BB extends AA{
public BB(){
super("abc");//继承AA类的话如果AA有自己定义构造方法的话要在这个地方显示声明
System.out.println("BB cont");
}
}
class CC extends BB{
public CC(){
//会默认调用父类的空参构造方法
System.out.println("CC cont");
}
}

继承中成员变量的关系


this:当前对象的引用


1、this.成员变量


2、this.成员方法(...)


3、this(...)调用自己构造方法


super:当前对象父类对象的引用


1、super.成员变量


2、super.成员方法(...)


3、super(...)调用父类的构造方法


继承中子父类构造方法的关系


1.子类构造默认会访问父类的空参构造, 什么都不写,子类构造默认第一句是 super();


2.如果父类没有空参构造,子类可以显示通过 super(参数列表)语句调用父类带参构造


3.子类构造可以通过 this(..)调用其他构造,让其他构造去访问父类构造.


继承中成员方法关系


同名:子类对象调用的是子类的方法.


方法重写:子类中出现了和父类中一模一样的方法声明,也被称为方法覆盖,方法复写。


重写和重载的区别:


重载的特点:在同一类中。方法名相同,参数列表不同。


重写的特点:要有继承关系。在子父类中方法的声明相同(方法名和参数列表都相同)。覆盖 时,子类方法访问权限不能小于父类方法的访问权限。静态只能覆盖静态。


目录
相关文章
|
3天前
|
存储 安全 Java
Java面向对象最新超详细总结版!
Java面向对象最新超详细总结版!
21 7
Java面向对象最新超详细总结版!
|
3天前
|
机器学习/深度学习 Java C++
Java 继承
5月更文挑战第1天
|
9天前
|
存储 Java 开发工具
【Java探索之旅】用面向对象的思维构建程序世界
【Java探索之旅】用面向对象的思维构建程序世界
10 0
|
10天前
|
Java
java使用面向对象实现图书管理系统
java使用面向对象实现图书管理系统
|
10天前
|
Java
Java语言---面向对象的三大特征之继承
Java语言---面向对象的三大特征之继承
|
10天前
|
机器学习/深度学习 Java Python
Java面向对象知识体系---基础版
Java面向对象知识体系---基础版
|
11天前
|
Java
java类、封装、继承
java类、封装、继承
|
15天前
|
安全 Java
Java基础&面向对象&继承&抽象类
Java基础&面向对象&继承&抽象类
|
15天前
|
Java
【Java基础】详解面向对象特性(诸如继承、重载、重写等等)
【Java基础】详解面向对象特性(诸如继承、重载、重写等等)
16 0
|
16天前
|
Java
【Java基础】面向对象和内存分析
【Java基础】面向对象和内存分析
15 0