抽象类的感念和深入探究

abstract class People          //定义一个抽象类
{
private String name="张三"; //定义name属性
private int age=30;         //定义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 void print();    //定义一个构造方法
};
class Student extends People        //继承抽象类,Student是普通类,所以需覆写父类中的构造方法。。。
{
public void print(){
System.out.println("姓名:"+super.getName()); 
        System.out.println("年龄:"+super.getAge());
}
};
public class abstractDemo01
{
public static void main(String args[]){
Student stu=new Student();
stu.print();
}

};

1.包含一个抽象方法的类称为抽象类

2.抽象方法:只明而未实现的方法称为抽象方法,没有方法主体,需使用abstract关键字声明。。

定义及使用规则

1.包含一个抽象方法的类必须是抽象类,抽象类和抽象方法都需使用abstract关键字声明。

2.抽象方法只需声明而不需要实现。抽象类必须被子类继承,子类(如果不是抽象类)需要覆写抽象类中的所有方法。

  抽象类中可以使用final关键字声明吗?

1:抽象类中必须要有子类。而使用final关键字声明的不需要子类,所以不能使用final声明。

      nal abstract class People          //定义一个抽象类
{
}

是不能被编译的。。。

抽象类不能直接实例化,在抽象类中是否可以存在构造方法?

abstract class People          //定义一个抽象类
{
private String name="张三"; //定义name属性
private int age=30;         //定义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 void print();    //定义一个构造方法
};
class Student extends People        //继承抽象类,Student是普通类,所以需覆写父类中的构造方法。。。
{
public void print(){
System.out.println("姓名:"+super.getName());
        System.out.println("年龄:"+super.getAge());
}
};
public class abstractDemo01
{
public static void main(String args[]){
People p=new People();
}
};
{
private String name="张三"; //定义name属性
private int age=30;         //定义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 void print();    //定义一个构造方法
};
class Student extends People        //继承抽象类,Student是普通类,所以需覆写父类中的构造方法。。。
{
public void print(){
System.out.println("姓名:"+super.getName());
        System.out.println("年龄:"+super.getAge());
}
};
public class abstractDemo01
{
public static void main(String args[]){
People p=new People();
}
};

应为抽象类中体现的是继承关系所以抽象类中是可以有抽象方法的。。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值