java 中为什么public的子类继承public的父类编译会出错
发布网友
发布时间:2024-01-15 08:00
我来回答
共5个回答
热心网友
时间:2024-12-05 15:58
你是不是把代码写在一个文件里面了,每个类写一个java文件就好了。java规定,一个类文件,public 修类的class只有一个,并且类名必须和你新建的这个类文件名一样,所以一个类文件中可以有多个类,但由public修饰的类只能有一个。
热心网友
时间:2024-12-05 15:59
如果是多个类放在一个public里就会出错
java-继承-实例
//建一个A类
class A{
//成员变量 其中num是实参
int num=0;
//成员方法,其中 i 是型参
public A(int i){
//输入int型文件输出下面
System.out.println("aaaaaaaaaaaaaaaaaaa");
System.out.println("i= "+i);
//把输入的i赋值给成员变量num
num=i;
}
}
//B继承A
class B extends A{
int num=0;
//成员方法B.
public B(){
//继承类A的方法.因为B继承了A必然继承了A的特性.所以输入int值10令方法实现.
super(10);
System.out.println("bbbbbbbbbbbbbbbbbbbb");
//这里的num是类B的.
System.out.println("num= "+num);
//如果想显示类A的num则需要用下列的super.num.这里注意num在类A中需是成员变量才可以.
System.out.println("super.num= "+super.num);
}
}
//建立测试类C
public class C{
//main
public static void main(String aa[]){
//new 一个对象B()
new B();
}
}
热心网友
时间:2024-12-05 15:59
域范围包括public protected friendly private
public 所有类都可访问
protected 同包或者子类可访问
friendly 同包下可访问
private 其他任何类都不可访问
如果构造方法前没有任何修饰符,则默认为friendly,只能在同包下访问
如果子类和父类不在同一个包内,student的构造方法student(int num)
是不能访问父类的super(100);
同理TestSuper这个类如果不在相同的package下,也不能new student();
因为这个构造方法是friendly属性的
热心网友
时间:2024-12-05 16:00
一个Java文件只能有一个public的类
你把子类的public去掉 或者把子类单独写一个java文件
热心网友
时间:2024-12-05 16:00
三个类都 放在一个java文件里了吧?一个类里只能有一个是public的class