继承:继承就是继承父类的属性和方法,自己也可以扩展自己的属性和方法,因此子类也叫派生类
1.java不允许多继承,只允许单继承,但是可以多层继承,就是A extends B,B extends C
2.子类不能直接的访问父类的私有属性,但是可以通过一些渠道来访问,比如getter
3.子类的实例化过程
class A{
{
System.out.println("父类的构造块");
}
static{
System.out.println("父类的静态块");
}
public A(){
System.out.println("父类的构造方法");
}
}
public class ExtendsTest extends A{
public ExtendsTest(){
System.out.println("子类的构造方法");
}
public static void main(String[] args) {
new ExtendsTest();
new ExtendsTest();
}
}
结果:
父类的静态块
父类的构造块
父类的构造方法
子类的构造方法
父类的构造块
父类的构造方法
子类的构造方法
意思再实例化子类的时候首先要去父类,加载父类的静态块,构造块,构造方法,在到子类来加载,顺序一样。静态块只加载一次
4.方法的覆写
方法的覆写就是子类拥有和父类同名的方法,但是在覆写方法时一定要注意覆写的方法的权限不能高于父类的权限
5.方法覆写和方法重载的区别

6.super的作用
super的作用是用来子类来调用父类的属性,方法
代码:
package test;
class B{
public B(){
System.out.println("父类的构造");
}
public void info(){
System.out.println("父类的方法");
}
}
public class SuperTest extends B{
public SuperTest(){
super();//这里调用父类的构造方法,及时不写也是默认的,在这里调用
}
@Override
public void info() {
super.info();
System.out.println("重写父类的方法");
}
public static void main(String[] args) {
SuperTest superTest=new SuperTest();
superTest.info();
}
}
结果:
父类的够着
父类的方法
重写父类的方法
1.java不允许多继承,只允许单继承,但是可以多层继承,就是A extends B,B extends C
2.子类不能直接的访问父类的私有属性,但是可以通过一些渠道来访问,比如getter
3.子类的实例化过程
class A{
{
System.out.println("父类的构造块");
}
static{
System.out.println("父类的静态块");
}
public A(){
System.out.println("父类的构造方法");
}
}
public class ExtendsTest extends A{
public ExtendsTest(){
System.out.println("子类的构造方法");
}
public static void main(String[] args) {
new ExtendsTest();
new ExtendsTest();
}
}
结果:
父类的静态块
父类的构造块
父类的构造方法
子类的构造方法
父类的构造块
父类的构造方法
子类的构造方法
意思再实例化子类的时候首先要去父类,加载父类的静态块,构造块,构造方法,在到子类来加载,顺序一样。静态块只加载一次
4.方法的覆写
方法的覆写就是子类拥有和父类同名的方法,但是在覆写方法时一定要注意覆写的方法的权限不能高于父类的权限
5.方法覆写和方法重载的区别
6.super的作用
super的作用是用来子类来调用父类的属性,方法
代码:
package test;
class B{
public B(){
System.out.println("父类的构造");
}
public void info(){
System.out.println("父类的方法");
}
}
public class SuperTest extends B{
public SuperTest(){
super();//这里调用父类的构造方法,及时不写也是默认的,在这里调用
}
@Override
public void info() {
super.info();
System.out.println("重写父类的方法");
}
public static void main(String[] args) {
SuperTest superTest=new SuperTest();
superTest.info();
}
}
结果:
父类的够着
父类的方法
重写父类的方法
7.super和this的区别