外部其他类访问内部类
本帖最后由 帅雷必成c王 于 2022-7-4 20:39 编辑public class Homework05 {
public static void main(String[] args) {
A a = new A();//这里 外部其它类访问局部内部类方法
a.AA();
}
}
class A{
private String name = "小帕";
public void AA(){
class B{
privatefinal String name = "类一起";
public void show(){
System.out.println("NAME=" +name );
System.out.println(A.this.name);
}
}
B b = new B();
b.show();
}
}
public class Homework07 {
public static void main(String[] args) {
Car car = new Car();
Car.a.flow();
}
class Car {
private double temperature;
public Car(double temperature) {
this.temperature = temperature;
}
class Air {
public void flow() {
if (temperature > 40) {
System.out.println("吹冷气");
} else if (temperature < 0) {
System.out.println("吹暖气");
} else {
System.out.println("关闭空调");
}
}
}
Air a = new Air();
a.flow();
}
??? 同样都是成员内部类,为什么第一个可以直接在外部类里面new 一个对象 然后调用方法
第二个就不行0.0
你的第二个 Car 类,只有一个含一个参数的 Car 构造器,没有 空参构造器
而你创建实例时 new Car() 使用的是空参构造器 导致报错
Twilight6 发表于 2022-7-4 20:43
你的第二个 Car 类,只有一个含一个参数的 Car 构造器,没有 空参构造器
而你创建实例时 new Car()...
我传入参数也不行呀, 如果是没有传入参数编译器会显示出来我没有写参数,但是编译器报错在说找不到方法 Twilight6 发表于 2022-7-4 20:43
你的第二个 Car 类,只有一个含一个参数的 Car 构造器,没有 空参构造器
而你创建实例时 new Car()...
{:10_254:} 帅雷必成c王 发表于 2022-7-4 21:00
要放入方法中,你在类空间不能直接进行函数的调用,不然编译就过不了
public class Homework07 {
public static void main(String[] args) {
Car car = new Car(1.0);
car.a.flow();
}
static class Car {
private double temperature;
public Car(double temperature) {
this.temperature = temperature;
}
class Air {
public void flow() {
if (temperature > 40) {
System.out.println("吹冷气");
} else if (temperature < 0) {
System.out.println("吹暖气");
} else {
System.out.println("关闭空调");
}
}
}
Air a = new Air();
}
}
Twilight6 发表于 2022-7-4 20:43
你的第二个 Car 类,只有一个含一个参数的 Car 构造器,没有 空参构造器
而你创建实例时 new Car()...
soga ,那第一个是因为无参所以没报错吗 {:5_108:} {:10_298:} {:10_256:}{:10_256:}{:10_256:}学习一下
页:
[1]