zoukankan      html  css  js  c++  java
  • 抽象类的基本概念------abstract

    抽象类的概念:

    包含一个抽象方法的类就称为抽象类。

    抽象方法:只声明但未实现的方法称为抽象方法,使用abstract关键字声明。

    抽象类的定义及使用规则:



    abstract class A{	// 是定义了一个抽象类
    	public static final String FLAG = "CHINA" ;	// 全局常量
    	private String name = "XIAOWU" ;	// 定义一个普通的属性
    	public void setName(String name){
    		this.name = name ;
    	}
    	public String getName(){
    		return this.name ;
    	}
    	public abstract void print() ;		// 定义抽象方法
    };
    抽象类的子类覆写抽象类中的抽象方法。
    abstract class A{	// 是定义了一个抽象类
    	public static final String FLAG = "CHINA" ;	// 全局常量
    	private String name = "XIAOWU" ;	// 定义一个普通的属性
    	public void setName(String name){
    		this.name = name ;
    	}
    	public String getName(){
    		return this.name ;
    	}
    	public abstract void print() ;		// 定义抽象方法
    };
    class B extends A{	// 继承抽象类,因为B是普通类,所以必须覆写全部抽象方法
    	public void print(){
    		System.out.println("FLAG = " + FLAG) ;
    		System.out.println("姓名 = " + super.getName()) ;
    	}
    };
    public class AbstractDemo02{
    	public static void main(String args[]){
    		B b = new B() ;
    		b.print() ;
    	}
    };

    抽象类的思考:



    abstract class A{	// 是定义了一个抽象类
    	public A(){
    		System.out.println("A、抽象类中的构造方法。") ;
    	}
    };
    class B extends A{	// 继承抽象类,因为B是普通类,所以必须覆写全部抽象方法
    	public B(){
    		super() ;
    		System.out.println("B、子类中的构造方法。") ;
    	}
    };
    public class AbstractDemo03{
    	public static void main(String args[]){
    		B b = new B() ;
    	}
    };

    abstract class Person{
    	private String name ;		// 定义name属性
    	private int age ;			// 定义age属性
    	public Person(String name,int age){
    		this.name = name ;
    		this.age = age ;
    	}
    	public void setName(String name){
    		this.name = name ;
    	}
    	public void setAge(int age){
    		this.age = age ;
    	}
    	public String getName(){
    		return this.name ;
    	}
    	public int getAge(){
    		return this.age ;
    	}
    	public abstract String getInfo() ;	// 抽象方法
    };
    class Student extends Person{
    	private String school ;
    	public Student(String name,int age,String school){
    		super(name,age) ;	// 指定要调用抽象类中有两个参数的构造方法
    		this.school = school ;
    	}
    	public void setSchool(String school){
    		this.school = school ;
    	}
    	public String getSchool(){
    		return this.school ;
    	}
    	public String getInfo(){
    		return	"姓名:" + super.getName()  + 
    				";年龄:" + super.getAge() + 
    				";学校:" + this.getSchool() ;
    	}
    };
    public class AbstractDemo04{
    	public static void main(String args[]){
    		Student stu = new Student("张三",30,"清华大学") ;
    		System.out.println(stu.getInfo()) ;
    	}
    };


  • 相关阅读:
    OC ----关于时间的处理
    OC-- 判断字符串是否是纯数字
    OC 判断字符串是否只存在只有空格
    将Json字符串转换为数组
    调用接口时对参数的排序、生成签名、生成随机数,获取唯一标示符
    关于UIAlertView弹出警告框自动消失
    AVAudioPlayer 获取语音的长度(时间)
    AFN 请求 https get
    TableView  — reloadData     刷新
    mapView 地图视图
  • 原文地址:https://www.cnblogs.com/james1207/p/3339497.html
Copyright © 2011-2022 走看看