继承

1.继承:extends

public class Dog extends Pet{
       //类定义部分
}

2.java中只支持单继承,即每个类只能有一个直接父类

3.java类都直接或间接地继承了java.lang.Object类,当没有使用extends关键字时,那么这个类直接继承Object类

public class MyObject{

   }表明:MyObject类的直接父类为Object类

4.请写出java.lang.Object类的6个方法

      1.getClass()  2.hashCode()  3.toString()  4.equals(Object 别名)  5.notify()  6.wait()

5.方法的重载:只发生在同一个类中

6.方法的重写:只发生在子类中

7.重载与重写的区别:

        重载:要求方法名相同,参数列表不同,与返回值类型、访问修饰符无关

        重写:子类与父类的方法名相同,参数列表相同,返回值类型相同(或是子类),访问修饰符不能严于父类

8.super:对当前对象的直接父类对象的默认引用

       1.super必须出现在子类中  2.可以访问父类的成员,如父类的属性、方法、构造方法  3.无法通过super 访问private成员

    super.name;      //访问直接父类的name属性
    super.print();   //访问直接父类的print()方法
    super(name);     //访问直接父类对应的构造方法
9.super():调用父类的无参构造器    super(参数):调用父类的有参构造器

10.要用子类构造器时,它会自动去掉父类的无参构造器

11.当子类构造器通过super调用父类中的有参构造器,则将执行父类相应的构造方法,而不执行父类无参构造方法

12.抽象类不能通过new实例化,但是可以有构造器,拿给子类调用

13.构造方法不能被继承,因此不能被重写

14.abstract:抽象,可以用来修饰类和方法,但不能用来修饰属性和构造方法

public void print(){}  普通方法
public abstract void print();  抽象方法
15.最终类,final修饰的类,不能被继承
public final class Dog extends Pet(){}
   //Dog类是最终类,无法被其他类继承
     用final修饰的方法不能被子类重写
例:
class Pet(){
     public final void print(){
  }
}
class Penguin extends Pet(){
    public void print(){} // 报错
}

     用final修饰的变量(包括成员变量和局部变量)将变成常量,只能赋值一次

public class Penguin(){
    final String name = "南极";
}
  public void setName(String name){
    this.name = name;//报错
}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值