这个抽象java类有什么问题
为什么要将“公共类AbstractDemo”改为“类AbstractDemo”这个抽象java类有什么问题,java,abstract,Java,Abstract,为什么要将“公共类AbstractDemo”改为“类AbstractDemo” abstract class A { public abstract int b(); public void d() { System.out.println("public void d()"); } } class B extends A { public int b() { return 1; } } publ
abstract class A {
public abstract int b();
public void d() {
System.out.println("public void d()");
}
}
class B extends A {
public int b() {
return 1;
}
}
public class AbstractDemo {
public static void main(String[] args) {
// A obj = new A();
B obj = new B();
}
}
这不是抽象类的问题 您需要清除java中access修饰符的概念
- 在java文件中,java文件中一次只能有一个类是公共的,并且它的名称必须是java文件的名称。否则,如果要在java文件中使用不同的名称编写
AbstractDemo类,则会出现以下错误:public
谁让你这么做?你有错误吗?有根据的猜测:Java编译器只允许每个文件有一个公共类,并且它的名称必须与文件名匹配。因此,将其设置为非公共类或更改文件名。但是请注意,为了运行它,您必须将带有main方法的类设置为公共类。“AbstractAnywhere”可能是错误的选择,因为它不是Java意义上的抽象类。
The public type AbstractDemo must be defined in its own file