zoukankan      html  css  js  c++  java
  • 抽象类

    package java_test;
    /*
    abstract:是一个修饰符,可以修饰方法,类
    1.当我们多个类存在相同的功能,但是功能的主体(方法体)不同,这是我们进行向上抽取只抽取功能的定义不抽取功能的主体
    抽象类的特点:
    1.抽象方法一定要在抽象类中
    2.抽象类和抽象方法必须要被abstract关键词修饰
    3.抽象的类是不能被创建对象的,因为调用抽象的方法没有意义
    4.要使用抽象类中的方法,要继承抽象类,并且重写抽象方法,然后创建子类对象来调用
    5.抽象类中可以定义非抽象的方法,有时我们需要此类不能被new关键字创建对象时,可以用abscract将此类变成抽象类
    6.子类如果只重写父类一部分抽象方法,那么该子类也成为了一个抽象类,如果抽象类的抽象方法要被使用,子类必须重写所有抽象方法
    值得注意:抽象类和普通类没有太大的不同
    1.抽象类无法通过new关键字创建对象
    2.抽象类里面可以有非抽象的方法
     */
    
    /*
     抽象类中抽象方法可有可无,但通常都含有抽象方法(这是定义抽象类的目的所在)让子类继承;
     如果子类没有把抽象类中所有的抽象方法都重写,则这个继承了抽象类的子类也会成为抽象类;
     如果子类把抽象类中所有的抽象方法都重写,则这个子类就可以实例化了。
     */
    
    abstract class Animals{//抽象类 可以有对象,只是不能通过 new来创建对象
    	abstract void sing();//抽象方法  只抽取方法名称,不抽取方法主体
    	abstract void show();
    }
    
    class Cats extends Animals{
    	void sing(){
    		System.out.println("喵喵的唱歌");
    	}
    	void show(){
    
    	}
    
    }
    
    class Dog  {//这里dog类没有继承Animals类,如果继承了抽象类Animals,还需要重写抽象方法,Cats类重写了Animals类的所有抽象方法
    	void sing(){
    		System.out.println("汪汪的唱歌");
    	}
    }
    public class DM001 {
    	public static void main(String[] args) {
    
    	}
    }
    

      

  • 相关阅读:
    linux下守护进程的创建
    【转】ps命令详解
    【转】适配器模式
    【转】设计模式六大原则(6):开闭原则
    【转】设计模式六大原则(5):迪米特法则
    【转】设计模式六大原则(4):接口隔离原则
    【转】设计模式六大原则(3):依赖倒置原则
    【转】设计模式六大原则(2):里氏替换原则
    网站会不会因为同IP网站被K而受到惩罚
    网页加载速度是否影响网站排名
  • 原文地址:https://www.cnblogs.com/youning/p/6810460.html
Copyright © 2011-2022 走看看