java 中抽象类和抽象方法

1、抽象类
   (1)抽象方法
    回想:public static void main(String[] args){
		花括号里面的内容 就是函数体。
		
	}
	定义:抽象方法是一种特殊的方法,只有声明,没有函数体。
	    声明如下:
		abstract void function();
    (2)抽象类是含有抽象方法的类。就叫做抽象类。
         abstract class 类名{
			 成员属性;
			 成员方法;
		 }---抽象类
	(3)注意点:
	   a、抽象类中不一定含有抽象方法 但是抽象方法一定在抽象类中。
	   b、抽象方法和抽象类必须被 abstract 修饰
	   c、抽象类不可以直接实例化,只能被子类实现;
	   d、 abstract 不能和final并列使用。
	   e、抽象方法必须为 public 或 protected 修饰,不能为private
	   //static

 2.定义一个抽像类和抽象方法

package com.Itstar.Demo14;
/***
 *  声明一个抽象类和抽象方法
 * @author jingqi
 * @version 1.0
 *
 */
public abstract class Printer {
	private String name;
	private String type;
	public Printer() {
		
	}
	
	public Printer(String name,String type) {
		this.name = name;
		this.type = type;
	}
	//声明一个抽象方法
	public abstract  void print();
	
	//声明一个自检方法
	public abstract  void check();
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}


}

* 抽象类不能用final来修饰 抽象方法也不能被final修饰

* 因为被final修饰后 抽象类和抽象方法将无法使用
* 即抽象类无法继承
* 抽象方法无法重写

抽象类的继承和抽象方法的实现

public class HPprinter extends Printer{

	@Override
	public void print() {
		// TODO Auto-generated method stub
		System.out.println("惠普打打印机正在打印...........");
	}

	@Override
	public void check() {
		// TODO Auto-generated method stub
		System.out.println("惠普打打印机正在自检...........");
	}
	
}

 写一个测试类来验证

public class AbstractTest01 {
	public static void main(String[] args) {
		HPprinter hPprinter = new HPprinter();  //实例化一个对象
		hPprinter.check();  //调用check方法
		hPprinter.print();  //调用print方法
	}
	
}

  结果如下

惠普打打印机正在自检...........
惠普打打印机正在打印...........

 Java方法的重写

1.目前的问题:父类的功能无法满足子类的需求。

2.方法重写的前提: 必须要存在继承的关系。

3.方法的重写: 子父类出了同名的函数,这个我们就称作为方法的重写。

4.什么是时候要使用方法的重写:父类的功能无法满足子类的需求时。

5.方法重写要注意的事项:


  1.方法重写时, 方法名与形参列表必须一致。 
    2.方法重写时,子类的权限修饰符必须要大于或者等于父类的权限修饰符。 
    3.方法重写时,子类的返回值类型必须要小于或者 等于父类的返回值类型。 
    4.方法重写时, 子类抛出的异常类型要小于或者等于父类抛出的异常类型。             Exception(最坏)           RuntimeException(小坏)


6.方法的重载:在一个类中 存在两个或者两个 以上的同名函数,称作为方法重载。

7.方法重载的要求


  
  函数名要一致。
  形参列表不一致(形参的个数或形参 的类型不一致)
  与返回值类型无关。

---------------------

 

 

 

posted @ 2018-10-02 10:08  随风无义  阅读(557)  评论(0)    收藏  举报