抽象类的感念和深入探究

来源:互联网 发布:权力的48条法则 知乎 编辑:程序博客网 时间:2024/06/01 10:40
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