1:也就是java中类的继承的一种方式,即聚合(很多地方可能不是用的这个词,但意思一样);
比如说:class A{
.
public method1(){}
}
class B
B b=new b();
b.method1();
}
这种用法就叫做类的聚合(当然这两个类要放在同一个包中,而且类的锈蚀浮要么为public,要么为友好型,就是什么都没有.可以理解为自己创建了一个新类(A),就像java自己的类一样,通过它我自己创建它的一个实例后,我就可以用它的方法了.所谓的编译时间,就是在对B中的b.method1()编译时,用到了原来的A类.
2
比如说:class A{
.
public method1(){}
}
class B
B b=new b();
b.method1();
}
这种用法就叫做类的聚合(当然这两个类要放在同一个包中,而且类的锈蚀浮要么为public,要么为友好型,就是什么都没有.可以理解为自己创建了一个新类(A),就像java自己的类一样,通过它我自己创建它的一个实例后,我就可以用它的方法了.所谓的编译时间,就是在对B中的b.method1()编译时,用到了原来的A类.
2
class A{
public void method1();
}
class B{
A a=new A();
a.method1();
},这样才对,不通过extends来使用A类
关于4,就是在类的继承中使用的另外的一种方法,即常用的extends语法,它通过不停的继承父类,来实现本类所需的方法和变量,这样就会导致类的层次会随着继承的增加而复扎,所以java中通过讲方法统一封装到一个接口(interface)中,这样只需implements这个接口就方便的多
这也是java的单继承规范所引起的!!!
for example:
//定义一个接口
interface S{
public void call();
}
//定义class A
class A implements S{
public void call(){ }
}
for example:
//定义一个接口
interface S{
public void call();
}
//定义class A
class A implements S{
public void call(){
System.out.println("call in class A");
}
}
//定义class B
class B implements S{
public void call(){
System.out.println("call in class B");
}
}
你自己定义了一个class C
如果你想调用A中的call方法,势必extends A,如果你又想调用B中的call,势必extends B,但是java为了避免减少继承的复杂性,只允许单继承,这样的话,你就需要用到interfaceclass C implements S{
S a=new A();
a.call();//----调用A方法
a=new B();
b.call();//----调用B方法
}
其实就是讲继承和接口的,java是类是单继承,接口可以多继承
都是必须的,为了使程序设计架构更合理!