一個java多個類
① java中定義一個類可以同時繼承兩個類
java中一個類不能直接繼承兩個類。
比如說這樣:class A extends B,C
不能這樣寫,因為java不支持多繼承,但是可以像下面這樣實現繼承多個類:
class A extends B
class C extends A
這樣C就同時繼承了B和A兩個類。
(1)一個java多個類擴展閱讀
當子類繼承了某個類之後,便可以使用父類中的成員變數,但是並不是完全繼承父類的所有成員變數。具體的原則如下:
1)能夠繼承父類的public和protected成員變數;不能夠繼承父類的private成員變數;
2)對於父類的包訪問許可權成員變數,如果子類和父類在同一個包下,則子類能夠繼承;否則,子類不能夠繼承;
3)對於子類可以繼承的父類成員變數,如果在子類中出現了同名稱的成員變數,則會發生隱藏現象,即子類的成員變數會屏蔽掉父類的同名成員變數。如果要在子類中訪問父類中同名成員變數,需要使用super關鍵字來進行引用。
② 一個.java文件中能有多個類嗎
可以的,但是多個類不能寫在用一個層級中
比如:
FirstClass.java
public class FirstClass{
}
public class SecondClass{
}
上面這種寫法是不允許的
但是第二個類可以在第一個類的內部聲明,稱為"內部類"是允許的
比如:
FirstClass.java
public class FirstClass{
class SecondClass{
}
}
如果非要兩個類的定義是同層級的,那麼後面的類不能是public,private或者protected的,也就是不能寫訪問修飾符
比如:
FirstClass.java
public class FirstClass{
}
class SecondClass{
}
這么寫是可以的
③ java一個類裡面可以定義多個類嗎
當然可以,這也是封裝的一種形式,例如:
public class User{
class Son {
}
class Daughter {
}
}
④ 一個java文件包括多個類文件(不是類中類)
1.一個java文件可以包含多個java類,但是只能包含一個public類,並且public類的類名必須與java文件名相同。
2.如果一個java文件只寫一個類,所以看類名就知道這個java文件裡面的類了。
3.一個文件多個類和一個文件一個類的效果是一樣的,同樣不能訪問其它類的private方法。
⑤ 一個.java文件中能有多個類嗎
publicclassDuoGeClass
{
publicstaticvoidmain(String[]args)
{
System.out.println(" ==========一個.java文件中能有多個類嗎?========== ");
init();
}//初始化!
privatestaticvoidinit()
{
newA().show();
newB().show();
newC().show();
newD().show();
}
}
classA
{
voidshow(){System.out.println("A類");}
}
classB
{
voidshow(){System.out.println("B類");}
}
classC
{
voidshow(){System.out.println("C類");}
}
classD
{
voidshow(){System.out.println("必須可以有多個類存在一個Java文件中,但是只允許一個類擁有public許可權! ");}
}
/*-----------------夠清楚嗎?----------------------------*/
⑥ 一個java文件中可以有多少個類
1個java文件中只能有一個主類,且必須與文件同名,當然裡面的內部類個數是沒有限制的,但是一個java文件最大是有限制的,65535k,所以只要在這么大的范圍內,多少個類都行;
2017年8月16日 10:28:14
⑦ java某個類繼承了多個類,編譯時會
說明:這是一個新的系列,定下一個目標,只要不忙,每天都會進行一次更新
驗證
public class ClassD {
ClassB b;
public static void main(String[] args) {
System.out.println("xxx");
}
class ClassE {
ClassB b;
}
}
class ClassF {
ClassB b;
}
class ClassG {
ClassB b;
}
abstract class ClassH {
ClassB b;
}
interface ClassI {
}
上面的代碼中一共有6個類,ClassD ClassE ClassF ClassG ClassH ClassI
ClassD 正常類
ClassE classD的內部類
ClassF 只是寫在classD.java中的普通類
ClassG 只是寫在classD.java中的普通類
ClassH 抽象類
ClassI 介面
編譯之後,如圖:
可以證明的是
如果再一個java文件中有多個類,除去內部類,剩下的每個普通類都會生成一個class文件
生成完的class文件:
public class ClassD {
ClassB b;
public ClassD() {
}
public static void main(String[] args) {
System.out.println("xxx");
}
class ClassE {
ClassB b;
ClassE() {
}
}
}
class ClassF {
ClassB b;
ClassF() {
}
}
登錄後復制
class ClassG {
ClassB b;
ClassG() {
}
}
登錄後復制
abstract class ClassH {
ClassB b;
ClassH() {
}
}
登錄後復制
interface ClassI {
}
登錄後復制
總結
如果一個java文件中有多個類,除去內部類,剩下的每個普通類都會生成一個class文件
如上圖:一個java文件中有6個類生成了5個class文件,因為其中有個類是內部類,如果都是外部類的話,則會生成6個class文件
⑧ 一個.java文件中能有多個類嗎
可以有多個類,但只能有一個public類,且這個public類名的和文件名相同。
⑨ 一個java文件 里能寫兩個類么
一個java文件里當然可以有多個類
但是訪問修飾符public修飾的類只能有一個,並且此public類名必須與java文件名一致
⑩ 一個.java文件中能有多個類嗎
可以有多個
但是有限制:
一個文件中只能有一個public類
並且此public類必須與文件名相同