2017-06-05 21 views
-2
文件中聲明

請幫助我的代碼中的錯誤是錯誤:類SubclassInSamePackage是公共的,應在名爲SubclassInSamePackage.java

class SubclassInSamePackage is public, should be declared in a file named SubclassInSamePackage.java 

計劃:

package pckage1; 

class BaseClass { 

    public int x = 10; 
private int y = 10; 
protected int z = 10; 
int a = 10; //Implicit Default Access Modifier 
public int getX() { 
    return x; 
} 
public void setX(int x) { 
    this.x = x; 
} 
private int getY() { 
    return y; 
} 
private void setY(int y) { 
    this.y = y; 
} 
protected int getZ() { 
    return z; 
} 
protected void setZ(int z) { 
    this.z = z; 
} 
int getA() { 
    return a; 
} 
void setA(int a) { 
    this.a = a; 
} 
} 


public class SubclassInSamePackage extends BaseClass { 

    public static void main(String args[]) { 
    BaseClass rr = new BaseClass(); 
    rr.z = 0; 
    SubclassInSamePackage subClassObj = new SubclassInSamePackage(); 
    //Access Modifiers - Public 
    System.out.println("Value of x is : " + subClassObj.x); 
    subClassObj.setX(20); 
    System.out.println("Value of x is : " + subClassObj.x); 
    //Access Modifiers - Public 
    //  If we remove the comments it would result in a compilaton 
    //  error as the fields and methods being accessed are private 
    /*  System.out.println("Value of y is : "+subClassObj.y); 

    subClassObj.setY(20); 

    System.out.println("Value of y is : "+subClassObj.y);*/ 
    //Access Modifiers - Protected 
    System.out.println("Value of z is : " + subClassObj.z); 
    subClassObj.setZ(30); 
    System.out.println("Value of z is : " + subClassObj.z); 
    //Access Modifiers - Default 
    System.out.println("Value of x is : " + subClassObj.a); 
    subClassObj.setA(20); 
    System.out.println("Value of x is : " + subClassObj.a); 
    } 
} 
+1

可能的[Java錯誤:應在一個名爲的文件中聲明]的副本(https://stackoverflow.com/questions/10377030/java-error-should-be-declared-in-a-file-named) – Tom

+0

你的主類是'SubclassInSamePackage',所以你的文件名應該是'SubclassInSamePackage.java'。 – Blasanka

回答

0

可以有文件中只有一個公共類,該類的名稱應與文件名的名稱匹配。

如果要在同一個文件中創建多個類,可以將它們標記爲私有或「空白」但不公開。

+0

感謝您的幫助代碼 – Ayan

相關問題