关于JAVA面向对象的问题
发布网友
发布时间:2023-10-28 20:03
我来回答
共2个回答
热心网友
时间:2023-12-05 14:48
interface A{ //这里是定义接口A,你应该懂把
public void fun()1;
}
class B{
int i=10;
class C implements A{ //这里定义了类C 并且实现了接口A
public void fun1(){
System.out.println(i);
}
}
public void get(A a){ //这里的参数可以是引用类型,只要是实现了接口A的类都可以放进去
a.fun1();
}
public void test(){
this.get(new C()); //new C()是实例化一个对象,this指的是当前对象的引用,这里可以省略
//由于类C实现了接口A,所以这里get(A a)方法中传递类C的实例是合法的
}
}
class Test{
public static void main(String[]args){
B b=new B();
b.test;//这行代码写错了 改为 b.test();
}
}
热心网友
时间:2023-12-05 14:49
get(A a)是传一个类,对象进去,这样是可以的,JAVA
this.get(new C());这是将C对象作为A的类型,因为C类型实现了A的接口,所以是可以这样用的。
我大概就这样理解