黑马程序员------- 继承-------

------- android培训java培训、期待与您交流! ---------- 

继承的概述
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。
多个类可以称为子类,单独这个类称为父类或者超类基类。
子类可以直接访问父类中的非私有的属性和行为。
通过 extends 关键字让类与类之间产生继承关系。
class SubDemo extends Demo{}
继承的出现提高了代码的复用性。
继承的出现让类与类之间产生了关系,提供了多态的前提。
继承的特点
Java只支持单继承,不支持多继承。
一个类只能有一个父类,不可以有多个父类。
Java支持多层继承(继承体系)
class A{}
class B extends A{}
class C extends B{}
定义继承需要注意:
不要仅为了获取其他类中某个功能而去继承
类与类之间要有所属( " is a " )关系,xx1是xx2的一种
class Fu  
{  
      int num1 = 1;  
}  
  
class Zi extends Fu  
{     
      int num1 = 10;  
}  
public void show()   
{             
      int num1 = 20;  
      System.out.println("num1="+num1);  
       System.out.println("this num1="+this.num1);  
      //当子类和父类出现了同名变量,用super来区分  
       System.out.println("father num1="+super.num1);  
 }  
super关键字
super和this的用法相像
this代表对象的引用(谁调用就代表谁)
super代表当前子类对象父类的引用。
当子父类出现同名成员时,可以用super进行区分
子类要调用父类构造函数时,可以使用super语句。
super和this的区别
this :对象的引用(谁调用就代表谁)
使用this关键字引用成员变量。
使用this关键字在自身构造方法内部引用其他构造方法。
使用this关键字引用成员方法
super :当前对象里面的父类的引用。
在子类的构造方法内部引用父类的构造方法。
在子类中调用父类中的成员方法。
在子类中调用父类中的成员变量
final关键字
final可以修饰类,方法,变量。
final修饰的类不可以被继承。
final修饰的方法不可以被覆盖。
final修饰的变量是一个常量。只能被赋值一次。
什么时候将变量修饰成final呢?
通常在程序中使用一些不会变化的数据.也就是常见的一些常量值.比如3.14,这个数直接使用是可以的,但并不利于阅读,所以一般情况下,都会被该数据起个容易阅读的名称
final修饰的常量定义一般都有书写规范,被final修饰的常量名称,所有字母都大写例如:double PI = 3.14;
如果由多个单词组成每个单词间用下划线连接
局部内部类只能访问被final修饰的局部变量
final和private区别
区别:1,final修饰的类可以访问
                 private不可以修饰外部类,但可以修饰内部类,讲内部类的时候会演示(其实把外部类私有化是没有意义的)
           2,final修饰的方法不可以被子类重写
                 private修饰的方法表面上看是可以被子类重写的,其实不可以,子类是看不到父类的私有方法的
           3,final修饰的变量只能在显示初始化或者构造函数初始化的时候赋值一次,以后不允许更改
                 private修饰的变量,也不允许直接被子类或一个包中的其它类访问或修改,但是他可以通过set和get方法对其改值和取值











评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值