Java--- 继承和抽象类

继承 在程序中,如果声明一个类继承另一个类,需要使用extends关键字。

  • 在Java中,累的继承是指在一个现有的类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称为父类,子类会自动拥有父类所有可继承的属性和方法。
    父类
public class Employee{
  string name;
  public void work( ){
System .out.println(" 员工在工作。");
}
}

子类1

public class Develop extends Employee{
    String name;
    public void work( ){
System .out.println("员工在工作。");
}
}

子类2

public class weihu extends Emplyee{
  public void println(){
      System.out.println("name");
}
}

继承-注意事项
1.在Java中,类只支持单继承,不允许多继承,也就是说一个类只能有一个父类。
2.多个类可以继承一个父类。

class A{ }
class B extends A{ }
class C extends A{ }   //B类C类都可以继承A

3.在Java中,多层继承 是可以的,即一个类的父类 可以再去继承另外的父类服,例:

class A{}
class B extends A{}
class C extends B{}    //C类继承B类,C类时B类的子类,同时也是A类的子类

4.在Java学习中,子类和父类是一种概念,也就是说一个类是某个类父类的同时,也可以说是另一个类的子类。

继承-子父类中成员变量的特点

  • 当程序中通过对象调用方法时,会先在子类中查找有没有对应的方法,若子类中存在就会执行子类中的方法,当子类中不存在就会执行父类中相应的方法。
  • 当子类中出现与父类一模一样的方法时,就会出现覆盖操作,也成为override 重写,复写或者覆盖。
  • *覆盖(重写)*当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。
    -
    - 方法重写的注意事项
    - 子类方法覆盖父类方法,必须要保证权限大于等于父类权限。
    - 写法上稍微注意:必须一模一样:方法的返回值类型 方法名 参数列表都要一样。
    -私有类,不能继承

抽象类

  • 抽象方法,必须存在抽象类中,也就是说,,类必须用abstract修饰
    1.抽象方法定义格式
    —public abstract 返回值类型 方法名(参数);
    2.抽象类定义的格式
    —abstract class 类名{
  • 抽象类,不能实例化对象,不能new。
    -抽象类使用方法:定义类继承抽象类,将抽象方法进行重写,创建子类的对象,如下
**父类** 
  public abstract class Develop{
  public abstract void work( );
  //抽象方法必须用抽象类
} 


**子类1**  
   public  class JavaEE extends Develop{
  public  void work( ){
  System.out.println(" JavaEE工程师在开发B/S软件");
}
} 


**子类2** 
public  class Android extends Develop{
  public  void work( ){
  System.out.println(" Android工程师在开发手机软件");
}
}   
 
  
   
   ***测试*** 
   public static void main (String[ ]  args){
      JavaEE ee=new JavaEE( );
      ee.work( );
      Android and=new Android( );
       and.work( );
       }
}

抽象类注意问题

  • 抽象类一定是个父类
  • 抽象类中可以定义抽象方法,但不让该类创建对象,方法可以直接让子类去使用
  • 抽象关键字abstract不可以和private,final,static共存!
发布了43 篇原创文章 · 获赞 6 · 访问量 1565

猜你喜欢

转载自blog.csdn.net/weixin_43729631/article/details/84778245