import p07.classexample.Animal;
import p07.classexample.Bird;
import p07.classexample.Person;
import p07.classexample.Student;
public class TestAbstractClass01 {
public static void main(String args[]){
Animal a=new Person();
a.eat();
Person p=new Person();
System.out.println(p.getAge());
Bird b=new Bird();
System.out.println(b.getAge());
System.out.println("-------------------");
Student aa=new Student(80);
System.out.println(aa.getAge());
}
}
-----------------------------------------------
public abstract class Animal {
private int age;
public Animal(){
}
public Animal(int age){
this.age=age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public abstract void eat();
}
----------------------------------------
public class Person extends Animal{
private int age;
public Person(){
super(80);
}
public Person(int age){
this.age=age;
}
public void eat(){
System.out.println("人在吃!");
}
}
我知道person类继承于animal而且animal是个抽象类,那么怎么解释a.eat()调用了子类的eat方法
è½å¨è¯´è¯¦ç»ç¹åï¼åç±»è¿éå¼è°ç¨ç¶ç±»çeat ä½ææ个çé®ç¶ç±»æ¯æ½è±¡ç±»èä¸eatä¹æ¯ä¸ªæ½è±¡æ¹æ³
å¬èå¸è¯´ç¶ç±»çeatèµ·çèæ¹æ³çä½ç¨ï¼ä¸ç解èæ¹æ³æ¯ä»ä¹ï¼èä¸ç¾åº¦ä¹æç´¢ä¸å°JAVAçèæ¹æ³è¿ä¸ªè¯
ä½ èå¸ç»ä½ 说çæ¯C++éé¢çï¼åç¡®ç说就èå½æ°ï¼å 为Javaæ¯é¢å对象è¯è¨ï¼æ以æå½æ°å«æäºæ¹æ³ãè¿ä¸ªä½ ä¸è¦çæ¥ï¼ä»ç»ççå¤æï¼å¤åå 个ç»ä¹ ï¼æ ¢æ ¢å°±ç解äºï¼åå¦ï¼é¾å ç解起æ¥ä¼å°é¾ã
java中一个类必须声明为抽象类吗?
不一定,抽象类可以没有抽象方法,但是如果一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象。如果一个类中有了一个抽象方法,那么这个类必须声明为抽象类,否则编译通不过。java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类...
Java 抽象类能不能实例化
结论是:Java中的抽象类不能被实例化。让我们进一步探讨这个概念。抽象类是Java中一种特殊的类,它使用abstract关键字标记,其主要目的是为了定义类的公共接口,而不是创建具体的对象。抽象类可以包含成员变量、成员方法和构造方法,但不能直接通过new关键字实例化,因为它们通常不提供完整实现,而是留给子类...
抽象类必须提供抽象方法吗
抽象类并不是必须提供抽象方法。在Java中,抽象类可以包含抽象方法,但并不是必须的。一个抽象类可以不含任何抽象方法,仅仅作为其他类的父类提供一些共同的属性和方法。然而,如果一个类中包含至少一个抽象方法,那么该类就必须被声明为抽象类。抽象方法是一种没有实现代码的方法声明,它只定义了方法的...
java抽象类
1、抽象类可以不包括抽象方法,它反正不会去实例化,里面的方法是不是抽象的没有本质影响。2、但是含有抽象方法的类绝不能被实例化,否则执行这个方法的时候,怎么办?3、如果子类是非抽象的,那么它就必须实现父类中的抽象方法;否则,它继承来的抽象方法仍然没有方法体,也是个抽象方法,此时就与“...
java知识点丨java抽象类的作用是什么?
探讨抽象类在Java中的作用 在Java编程语言中,抽象类扮演着核心角色,为开发者提供了一种灵活的机制来定义共享行为和属性。理解抽象类的关键在于其与普通类和接口的区别。首先,让我们聚焦于抽象类的作用。抽象类允许我们定义一组共有的方法和属性,这些在子类中实现。当多个类拥有共同的行为和属性时,...
java 中抽象类虽然不能够创建对象,但是可以有构造方法,构造方法也可 ...
抽象类概念我就不多说了,简单说父亲是抽象类的类必须实现所有抽象方法,除非这个类也是抽象类。说明下你问的问题 1.首先你要搞清楚java里new这个关键字,new说的是要调用构造方法,分配内存空间,创建实例,这是显示的new出来一个对象,抽象类是不允许new的,但是抽象类可以有构造方法,我们知道通常创建...
java继承抽象类和接口问题
1.抽象类,不能实例化,也就是不能new,也就是不能创始对象。你可以这么理解:抽象,就是模糊的概念,相当于人们说的经常说的概念车之类的,为什么叫概念车,是因为只有个大概的模型,很多技术(在java里我们称之为方法)没有实现,所以不能造出车子(java中我们就是不能new啦)。当然只有解决所以...
请问java中抽象类能不能继承抽象类?能了就举例说明谢谢。
能,如果你写了一个类继承了某个抽象类,而你又没有重写其所有的抽象方法,那么这个类也只能声明为抽象类。如果重写了就如第三个类,不是抽象的了。Abstract class A{ public void afunction();} Abstract class B extends A{ } class B extends A{ public void afunction(){};} ...
抽象类可以实现多个接口吗
在Java编程语言中,一个抽象类不仅可以实现多个接口,而且还可以继承自另一个抽象类或非抽象类。这个特性使得抽象类可以拥有多个父类,从而可以获得多个接口提供的函数和行为。实现多个接口可以让抽象类具备多种不同的功能和能力。通过实现不同的接口,抽象类可以包含多种不同的方法定义和行为规范。这样可以...
JAVA中抽象类能不能定义引用?
抽象类是对数据的抽象,是不能实例化创建对象的,所以你这里new一个抽象类的对象就出错了你要重新定义一个类去继承抽象类。一般抽象类中有抽象方法的话,还得对所有的抽象方法都重写,然后去创建新的类才能引用