方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。
方法内部类不能使用访问控制符和 static 修饰符。
方法内部类不能使用访问控制符和 static 修饰符。
2018-01-23
静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
2018-01-23
内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。
内部类的主要作用如下:
1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便
成员内部类
静态内部类
方法内部类
匿名内部类
内部类的主要作用如下:
1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便
成员内部类
静态内部类
方法内部类
匿名内部类
2018-01-23
访问修饰符
private 本类
默认 本类 同包
protected 本类 同包 子类
public 本类 同包 子类 其他
private 本类
默认 本类 同包
protected 本类 同包 子类
public 本类 同包 子类 其他
2018-01-23
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
private 创建get/set方法 控制语句
private 创建get/set方法 控制语句
2018-01-23
已采纳回答 / 幕布斯3021265
你这是构造函数的问题,当子类继承了父类之后。子类自动获得了父类的数据成员,但是并没有获得父类的构造函数。要是不自己定义一个构造函数的,编译器会自动为子类补全一个没有参数的构造函数。在这一例子中应该要重新定义一个子类的构造函数。代码父类{father(int n)//有参构造函数}子类{//要是不定义构造函数的话编译器会自动补全一个无参构造函数son()}上面的问题可以试试用这个代码在bus中加上public Bus(String name,int num,int moneys){super(name,nu...
2018-01-23
已采纳回答 / xcopfans
Multiple markers at this line - The constructor Pickup(String, double, int) is undefined - The constructor Truck(String, double, int) is undefined - The constructor Truck(String, double, int) is undefined - The constructor Bus(String, int, int) is unde...
2018-01-22
已采纳回答 / xcopfans
这就是数组嘛 ,之前学过 int[] i = new int[]{...};这是在里面放数字,也可以这样初始化:int[] i = {...};然后呢 ,Car[] 里面就是放 Car 这个类型的对象,你这么理解, int[] i 里面也就是放的 “int”类型的对象,也就是一个个数字
2018-01-22
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
2018-01-22
静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。
在普通成员方法中,则可以直接访问同类的非静态变量和静态变量。
静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
在普通成员方法中,则可以直接访问同类的非静态变量和静态变量。
静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
2018-01-22
Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。
2018-01-22