JAVA 7 继承

继承
 
1,提高代码复用性
2,让类与类之间产生关系,有了关系,才会有多态的特性
3,必须是类与类之间有所属关系才可以继承。看父类的所有方法属性在子类中是否都必须具备。
 
Java只支持单继承,不支持多继承,多继承容易带来安全隐患。
使用库的时候:
查阅父类的方法,使用子类创建对象,因为父类可能不能创建对象,子类的功能最全。
 
class Zx
{
 public static void main(String []arr)
 {
  Zi a = new Zi();
  System.out.println(a.num); //会打印5
a.show();//会打印4
 }
}
 
class Fu
{
 
 int num  = 4;
void show()
{
System.out.println(4);    //super 换成 this 和空 都会打印4
}
}
 
class Zi extends Fu
{
 int num=5;
void show()
{
System.out.println(4);    //super 换成 this 和空 都会打印4
}
}
 
 
 
super:代表父类对象的引用
如果子类中出现非私有的同名成员变量时,子类要访问本类中的变量用this.  子类要访问父类中的同名变量,用super
 
 
函数的覆盖/重写
当父子类中有同名函数时,调用子类对象的函数,会执行子类的函数,父类的函数被覆盖。
 
以下程序会打印4
class Zx
{
 public static void main(String []arr)
 {
  Zi a = new Zi();
 
a.show();
 }
}
 
class Fu
{
 
 int num  = 4;
void show()
{
System.out.println(5);    
}
 
}
 
class Zi extends Fu
{
 int num=5;
void show()
{
System.out.println(4);  
}
}
 
 
final:
最终的类不可以被继承,为了避免被子类覆盖功能。
3,被final修饰的方法不可以被覆盖
4,被final修饰的变量是一个常量只能赋值一次。
 
 
接口和抽象类没懂,找本书看看
abstract:抽像
 
1,抽象方法一定定义在抽象类中
2,抽象方法和抽象类被abstract修饰
3,抽象类不可以用new创建对象。
3,抽象类中的方法要被使用,抽象父类必须由子类复写所有抽象方法后后,建立对象使用
作用不懂?
抽象就是有点模糊的意思,还没确定好的意思。

比如我想买件衣服,我只是想买衣服而已,但还没确定是买白色的衣服还是蓝色的衣服,也还没确定是要买短袖还是长袖的衣服。

用到java上,就比方,我要定义一个方法和类。但还没确定怎么去实现它的具体一点的子方法,那我就可以用抽象类或接口。
 
接口:
初期理解:可以认为是一个特殊的抽象类,当抽象类中的方法都是抽象的,那么该类可以提供接口的形式来表示
interface
 
定义格式特点:
1,接口中常见定义:常量,抽象方法。
2,就看中成员都有固定修饰符。
            常量:public static final int a;//int a 也可以,会自动给补上,但是最好要写
            方法:public abstract a(){};//同上
接口中的成员都是public的
 
例如:
class Zx
{
 public static void main(String []arr)
 {
 
 }
}
 
interface Inter
{
 public static final int NUM = 3;
 public abstract void show();
}
 
class Test implements Inter
{
 public void show(){}
}
 
 
 
 
 
 
 
 
 
posted @ 2015-07-25 15:13  hitz&x  阅读(121)  评论(0编辑  收藏  举报