第七章 继承内容
第九章 接口(二)
(接下来的内容是(一)的补充,本篇文章主要讲三个知识点)
1. 继承内部类
简单来讲就是内部类中外部类继承内部类,在外部类继承内部类的时候就必须要解决对应外部类引用初始化问题。(讲的很模糊哈哈)
package test01;
public class Intest {
class Clothes{
private String materials;
private int size;
private String color;
public void setmaterials(String color){
this.color=color;
}
public void setsize(int size){
this.size=size;
}
public void setcolor(String color){
this.color=color;
}
public String getmaterials(){
return materials;
}
public int getsize(){
return size;
}
public String getcolor(){
return color;
}
}
class coat extends Intest.Clothes{//继承内部类
public coat(Intest o){
o.super();//初始化外部类的引用
}
}
public static void main(String [] args){
Intest o=new Intest();
coat Coat=o.new coat(o);
System.out.print(Coat.getcolor());
}
}
2. 静态内部类
一般情况下,内部类会隐形持有一个指向外部类的引用,因此可以直接去访问外部类的一些成员,如果不需要让内部类持有的话,就需要将内部类设置为静态属性。
代码解析:将Pen设置成static类型,所以Pen类型的引用不能够访问到Painter类中的成员name以及其方法setname and getname 。
静态类和普通类的区别:
普通类内部的变量和方法不能够被定义为静态内部类,也不能够包含内部类,但静态内部类却可以包含这些元素。
3. 包的相关知识及用法
包的相关知识想必大家都已经有所了解,这里也不细讲了,就讲讲怎么导入包吧。
怎样导入包?
(1)import 包名.类名;//导入该包中的选定的类
(2)Import 包名.*;//导入该包中的所有类