java抽象类中的方法吗_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.方法重载的要求

函数名要一致。

形参列表不一致(形参的个数或形参 的类型不一致)

与返回值类型无关。---------------------

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值