您的位置:首页 > 编程语言 > Java开发

Java第11次作业:什么是继承?继承的好处?什么是覆写?super()?构造代码块?子父类初始化顺序? 抽象类能用final声明吗?final关键字声明类 方法 变量以及全局常量?抽象类的构造方法?

2018-01-01 00:39 1091 查看
什么是继承?

继承是以父类为基础,子类可以增加新的数据或新的功能。子类不能选择性地继承父类。这种技术使得复用以前的代码非常容易。

JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,同时一个类可以实现多个接口,从而克服单继承的缺点。

继承好处?

1、这种技术使得复用以前的代码非常容易。

2、让类与类之间产生关系。

3、没继承没多态。

什么是覆写?

子类方法名及参数类型、位置、数量都与父类中的方法名相同。

高权限可覆写低权限,private和static无法被覆写。

super关键字?

在子类构造方法第一行隐藏这一句super(),作用是实例化子类前先实例化其父类。

构造代码块?

直接在类中定义且没有加static关键字的代码块称为{}构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。

子父类初始化顺序?

子父类顺序(1)开辟空间都为0(2)父类初始化不管值(3)成员变量赋值的显示初始化(4)构造代码块(5)子类初始化

继承 抽象类能用final声明吗?



final关键字声明类 方法 变量以及全局常量?



抽象类不能实例化,可以有构造方法吗?



package com.swift;

public abstract class A {
private String name;
public A(String name) {
this.name=name;
}
public String getName() {
return this.name;
}
public abstract void fun();
}

package com.swift;

public class B extends A {
//抽象类不能实例化
public B(String name) {
super(name);
}
public void fun() {
System.out.println(super.getName());
}

}

package com.swift;

public class DemoAB {

public static void main(String[] args) {
B b =new B("悟空");
b.fun();
}
}


 通过子类的super();调用构造方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐