zoukankan      html  css  js  c++  java
  • 抽象类和抽象方法的区别

    抽象方法:在类中没有方法体的方法,就是抽象方法。
    
    抽象类:含有抽象方法的类就叫抽象类。
    
    抽象类中的抽象方法必须被实现!
    
    如果一个子类没有实现父类中的抽象方法,则子类也成为了一个抽象类!
    
    抽象类中的普通方法,可以不必实现。
    
    1 用abstract来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。例如 :
    1
    	abstract class Animal { //用abstract来定义一个Animal为抽象类
    2
    	}
    3
    	和
    4
    	public abstract void enjoy(); //用abstract来定义一个抽象方法"enjoy"
    
    2 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
    
    3 抽象类不能被实例化。
    
    4 抽象方法只需声明,而不需实现某些功能。如:
    1
    	public abstract void enjoy();//这个抽象方法不需要实现功能
    2
    	 
    3
    	public void enjoy() {
    4
    	System.out.print("叫声"); //而一般的方法有必要实现某些功能
    5
    	}
    
    例A:没抽象类的多态程序
    01
    	class Person {
    02
    	    public void f() {
    03
    	        System.out.println("父类");
    04
    	    }
    05
    	}
    06
    	 
    07
    	class Students extends Person {
    08
    	    public void f() {
    09
    	        System.out.println("学生类");
    10
    	    }
    11
    	}
    12
    	 
    13
    	class Teacher extends Person {
    14
    	    public void f() {
    15
    	        System.out.println("教师类");
    16
    	    }
    17
    	}
    18
    	 
    19
    	public class Test3 {
    20
    	    public static void main(String[] args) {
    21
    	        Person s = new Students();
    22
    	        Person t = new Teacher();
    23
    	        s.f();
    24
    	        t.f();
    25
    	    }
    26
    	}
    
    例B:抽象类的多态程序
    01
    	abstract class Person {
    02
    	    public abstract void f();
    03
    	}
    04
    	 
    05
    	class Students extends Person {
    06
    	    public void f() {
    07
    	        System.out.println("学生类");
    08
    	    }
    09
    	}
    10
    	 
    11
    	class Teacher extends Person {
    12
    	    public void f() {
    13
    	        System.out.println("教师类");
    14
    	    }
    15
    	}
    16
    	 
    17
    	public class Test3 {
    18
    	    public static void main(String[] args) {
    19
    	        Person s = new Students();
    20
    	        Person t = new Teacher();
    21
    	        s.f();
    22
    	        t.f();
    23
    	    }
    24
    	}
    
  • 相关阅读:
    APNS推送通知消息负载内容和本地格式字符串
    TCP/IP协议基础(转)
    IOS学习笔记—苹果推送机制APNs
    IOS 基于APNS消息推送原理与实现(JAVA后台)--转
    IOS私有API的使用(转)
    iOS js与objective-c的交互(转)
    多线程二(GCD)代码笔记
    GCD (Grand Central Dispatch) 笔记
    QTextCodec中的setCodecForTr等终于消失了 (Qt5)
    Qt发布可能遇到的问题
  • 原文地址:https://www.cnblogs.com/deepbreath/p/5015629.html
Copyright © 2011-2022 走看看