• 第12章 抽象


    第12章 抽象

    抽象:抽象方法和抽象类。
    抽象方法将所有具体的事务,抽取成为一些共同的方法。
    抽象类是包含抽象的一种类。

    本章重点:
    1、抽象
    2、抽象类的定义和使用
    3、抽象和接口的区别

    所谓抽象,就是一种建立编程思路的思想。

    抽象就是将拥有共同方法和属性的对象提取出来,提取后,重新设计一个更加通用、更加大众化的类,这个类称为抽象类。
    抽象就是提取所有对象的共性,即取出共性的过程。
    例如一个汽车管理系统中,凡能够证明这是一辆车的特征,就属于抽象范围。
    抽象类使用关键字“abstract”来修饰的类。
    具有一个或多个抽象方法的类,本身就要被定义为抽象类。
    所谓抽象方法就是带关键字“abstract”的方法。
    一个类中只要有一个抽象方法,那么这个类是就抽象类。
    抽象类是可以继承的:
    子类没有实现抽象类的全部抽象方法,那么子类也是抽象类。
    子类实现抽象类的全部抽象方法,那么子类就不是抽象类。
    含有抽象方法的类一定是抽象类,但抽象类不一定含有抽象方法。
    抽象类不能被实例化,即不能使用关键字“new”来生成实例对象,但可以声明一个抽象类的变量指向具体子类的对象。

    抽象与接口的区别:
    1、都不能创建实例对象,因为它们都是抽象的。
    2、虽然不能直接通过关键字“new”创建对象实例,但可声明变量,通过变量指向子类或实现类的对象,来创建对象实例。
    不同点:
    1、Java不支持多重继承,即一个子类只能有一个父类,但一个子类可以实现多个接口。
    2、接口内不能有实例字段,只能有静态变量,抽象类可以拥有实例字段。
    3、接口内方法自动设置为“public”的,抽象类中的方法必须手动声明访问控制符。

    abstract class school{
      String sName;
      String cName;
      String location;
      public void setSName(String sName){
        this.sName = sName;
      }
      public void setCName(String cName){
        this.cName = cName;
      }

      abstract void setlocation(String location);
      abstract String getlocation();

      public String tostring(){
        String info = "学校名称:" + sName + " " + "班级名称:" + cName;
        return info;
      }
    }

    class stuA extends school{

      void setlocation(String location){
        this.location = location;
      }
      String getlocation(){
        return location;
      }
      public String tostring(){
        String info = super.tostring() + " " + "地区:" + location;
        return info;
      }
    }

    public class absTest{
      public static void main(String[] args){
        stuA s1 = new stuA();
        s1.setSName("Jamper");
        s1.setCName("Tianjin");
        s1.setlocation("China");
        System.out.println(s1.tostring());
      }
    }

  • 相关阅读:
    python运行提示缺少模块 No module named 'XX'
    shell脚本删除redis集群中的key
    pytest运行后生成测试报告
    python初级(302) 7 列表(排序练习)
    解决一个右下角图标闪烁,点击图标就会弹出游戏网页的流氓广告
    python初级(302) 7 列表(二)冒泡排序
    python初级(302) 7 列表
    python初级(302) 6 对象(五)
    生命游戏(python实现,pygame显示图形)
    python初级(302) 6 对象(四)
  • 原文地址:https://www.cnblogs.com/QQ9888267/p/6115265.html
Copyright © 2020-2023  润新知