抽象类

本文详细介绍了抽象类的概念及其在Java中的应用。重点讲述了抽象类的特点,包括如何定义抽象类和抽象方法,以及如何通过子类来实现这些抽象方法。同时,通过具体的代码示例展示了抽象类在实际项目中的使用。

抽象类

 

什么是抽象:抽象是处理对象复杂性的一种技术,它只关注对象的主要细节而忽略了对象的次要细节。

 

抽象类?

 

1.      类和方法都要被关键字abstract去修饰

2.      抽象的方法不用去实现而只要声明一下就可以了

3.      抽象类不可以去实例化,也就是不能去new

4.      一个类中如果含有抽象方法,那么这个类就必须被声明为抽象类,继承它的子类必须去覆写这个抽象方法才可以被实例化

 

 

定义的格式:

abstract class 类名{

 

       //声明数据成员;

 

       //抽象方法

       abstract返回值类型  方法名(参数1,参数2.。。。);//此方法为抽象方法,所以没有实现

 

       //一般方法

      

}

 

大家可以看到,在抽象类中,即可以有抽象方法有可以有一般方法,不同的是,抽象方法必须被子类去覆写。

 


package com.chen.designpattern;

abstract class Person{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Person(String name,int age){
this.age = age;
this.name = name;
}
public abstract String getSay();

public void say()
{
System.out.println(this.getSay());
}

}


class Worker extends Person{


private float money;

public float getMoney() {
return money;
}


public void setMoney(float money) {
this.money = money;
}


public Worker(String name, int age,float money) {
super(name, age);
this.setMoney(money);
}
public String getSay()
{
return "我是一个工人,我的名字是:"+super.getName()+",年龄:"+super.getAge()+",工资:"+this.getMoney();
}
}


class Student extends Person{
private float score;


public float getScore() {
return score;
}


public void setScore(float score) {
this.score = score;
}
public Student(String name,int age,float score)
{
super(name,age);
this.setScore(score);
}
public String getSay()
{
return "我是一个学生,我的名字是:"+super.getName()+",年龄:"+super.getAge()+",成绩:"+this.getScore();
}
}
public class Demo {


public static void main(String[] args) {
Person p = new Worker("张三",12,3000);
p.say();
p = new Student("1chen",13,90);
p.say();
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值