一个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类必须与文件名相同