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

    抽象:就是对一个事物的大概描述
    抽象方法:以abstract修饰的方法,这种方法只声明返回数据类型,方法名和所需参数,并没有函数体。如 abstract void study();
    抽象类特点:
    1.抽象类中不一定含有抽象方法;但抽象方法一定在抽象类中。
    2.抽象类不具备实际功能,只能用于派生子类
    3.抽象类中可以包含构造函数,但是构造函数不能被声明成抽象。抽象类中的成员方法包括一般方法和抽象方法
    4.抽象方法和抽象类都必须被abstract关键字修饰
    5.抽象类不可以用new创建对象,必须由子类复写所有抽象方法后,建立子类对象调用。
    6.抽象类中的抽象方法要被使用,必须要子类复写所有的抽象方法后,建立子类调用。如果子类只复写了部分抽象方法,那么该子类还是一个抽象类。

    7.抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法)

    abstract class Student//抽象类
    {
    	private String name;
    	private int age;
    	abstract void study();//抽象方法
    	
    	Student(String name,int age)
    	{
    		this.name=name;
    		this.age=age;
    	}
    
    
    }
    
    class GaoZhongStudent extends Student
    {
    	 private String xuehao;
    
    	GaoZhongStudent(String name,int age,String xuehao)
    	{
    	  super(name,age);//执行父类构造函数
    	  this.xuehao=xuehao;
    	}
    	 
    	 public void study()
    	 {
    	 System.out.println("study gaozhong");
    	 }	
    }
    
    class ChuZhongStudent extends Student
    {
    	 ChuZhongStudent(String name,int age)
    	{
    	  super(name,age);
    	}
    	 
    	 public void study()
    	 {
    	 System.out.println("study chuzhong");
    	 }	
    }
    
    
    class  abstractDemo
    {
    	public static void main(String[] args) 
    	{
    		ChuZhongStudent p1=new ChuZhongStudent("zhangsan",20);
    		p1.study();
    		GaoZhongStudent p2=new GaoZhongStudent("lisi",20,"yaohua001");
    		p2.study();
    	}
    }
    

      

  • 相关阅读:
    webstrom的热更新没效果
    按钮文字有间距并居中
    兄弟选择器(+ 和 ~)
    ES6精简要点
    自动类型转换之运算符重载
    自动类型转换之构造函数
    运算符重载(三)
    运算符重载(二)
    运算符重载(一)
    友元
  • 原文地址:https://www.cnblogs.com/paulwinflo/p/8027509.html
Copyright © 2011-2022 走看看