50,530
社区成员
发帖
与我相关
我的任务
分享
public class People {
public interface Runner {
void run();
}
public void stuAge(int num){
System.out.println("The age of the Student is"+num);
}
public static void main(String[] args) {
Runner runner = new Runner() {
@Override
public void run1() {
int age = 18;
System.out.println("run 10 miles!");
}
};
runner.run();
People people = new People();
people.stuAge(age);
}
}
public class People {
public static interface Runner {
void run();
}
public void stuAge(int num){
System.out.println("The age of the Student is"+num);
}
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(); //用于保存内部类的结果
Runner runner = new Runner() {
@Override
public void run() {
int age = 18;
list.add(age); //保存内部类处理结果
System.out.println("run 10 miles!");
}
};
runner.run();
People people = new People();
people.stuAge(list.get(0)); //使用保存的结果
}
}
public class People {
private Integer age;
public interface Runner {
void run();
}
public void stuAge(int num){
System.out.println("The age of the Student is"+num);
}
public static void main(String[] args) {
Runner runner = new Runner() {
@Override
public void run1() {
this.setAge(18);
System.out.println("run 10 miles!");
}
};
runner.run();
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
public class People {
int age;
public interface Runner {
void run();
}
public void stuAge(int num){
System.out.println("The age of the Student is"+num);
}
public static void main(String[] args) {
People people = new People();
Runner runner = new Runner() {
@Override
public void run() {
people.setAge(18);
System.out.println("run 10 miles!");
}
};
runner.run();
people.stuAge(people.getAge());
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
[/quote]谢谢,你这个补足了1楼的答案。
public class People {
int age;
public interface Runner {
void run();
}
public void stuAge(int num){
System.out.println("The age of the Student is"+num);
}
public static void main(String[] args) {
People people = new People();
Runner runner = new Runner() {
@Override
public void run() {
people.setAge(18);
System.out.println("run 10 miles!");
}
};
runner.run();
people.stuAge(people.getAge());
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
/**
* @description: 匿名内部类
* @author:
* @date: 2020/10/26 9:47
*/
public class People {
public interface Runner1 {
void run1();
int run2();
}
public void stuAge(int num){
System.out.println("The age of the Student is " + num);
}
public static void main(String[] args) {
Runner1 runner = new Runner1() {
int age;
@Override
public void run1() {
age = 18;
System.out.println("run 10 miles!");
}
@Override
public int run2() {
return age;
}
};
runner.run1();
People people = new People();
people.stuAge(runner.run2());
}
}
除了使用这个办法,还有其他办法吗?假如接口是无法修改的情况下