继承

1).掌握继承的定义、实现、作用
2).掌握继承的特点
3).掌握子父类成员变量,成员方法的访问顺序
4).掌握super的使用
5).掌握this的使用
6).掌握重载和重写的区别
8).掌握Eclipse中常用的快捷键
1、继承
  定义: 从一个已有的类中派生处一个新的类,子类具有父类的一般特性,以及自身特殊的特性
  实现:继承需要符合的关系:  is--a  ,父类更通用,子类更具体
    [类的修饰符] class  <子类名>  extends <父类名>
   {   
<域定义> ;//属性
<方法定义>;
   }
  特点:
     (1)、子类具有父类的一般特性(属性和行为),以及自身特殊的特性,
     (2)、子类可以从父类那里继承所有非private的属性和方法作为自己的属性 (除了构造函数(构造器)),
            也可以新增子类自己的属性和方法。构造函数不能被继承
2、什么是继承?为什么要使用继承?
    定义: 从一个已有的类中派生处一个新的类,子类具有父类的一般特性,以及自身特殊的特性
    优点: 减少代码的冗余,增强代码的可复用性
总结:
OO基本特征      定义                                   具体实现方式                         优势
封装           隐藏实现细节,                属性私有化,添加                          增强代码的可维护性
               对外提供公共的                公有的setter、getter                      提高代码的安全性
      访问接口                               方法
继承         从一个已有的类中派生     [类的修饰符] class  <子类名>  extends <父类名>   增强代码的可复用性 
              处一个新的类,                                                           减少代码的冗余
            子类具有父类的一般特性,                                                                            
                    
 多态       同一对象在不同时刻表现      父类或(接口)的引用指向子类(实现类)的对象,   提高程序的可扩展性,
               出来的不同状态(行为)                                                        和可维护性                        
               
3、继承的特点:
              A:Java只支持 单继承,不支持 多继承。
     B:Java支持多层(重)继承(继承体系)
     不要为了获取部分功能,而去使用继承。
4、研究子父类成员变量的访问顺序
1)、通过子类访问一个成员变量的时候:
A:首先在局部范围找,如果有就使用。
B:继续在子类的成员位置找,如果有就是使用。
C:最后在父类中找,如果有就使用。
D:如果找不到就报错。
2)、在子类中,输出局部范围的值,输出成员变量的值
        A:局部变量的值,直接输出变量名即可。
B:成员变量,输出  this.即可。
3)、输出父类成员变量的值
        C:父类的成员变量,输出 super  即可。
5、super的使用【熟练使用】
1)super关键字
(1).由于继承,子类中可以使用 this 访问父类非私有的属性和方法,
       但如果子类隐藏了父类的属性和方法,(隐藏的原因是因为子类重新定义了自己的属性和方法)如果需要明确的指明父类的
        属性和方法,就要用 super 。
例如:super.show();        super.name
(2).使用super可以调用父类的构造方法.
       例如:super(),super(name,password)
2)super();
 1、作用:是调用父类无参构造函数,若父类为有参,则super会报错,应该使用super(参数1,参数2.....)
 2、使用位置:是子类构造函数的第一条语句
 3、注意点:
        1).只能是子类构造函数中的第一条语句位置
        2).如果没有出现super();会有一个默认隐藏的super();
        3).如果父类只有有参构造函数,那么super()就会报错。
注意: super();//是构造函数的第一条语句。是调用父类无参构造函数,常被隐藏,即使没有子类的构造函数,仍然会被调用并打印父类的构造函数
3)super(形参1,形参2...);
1、作用:调用父类有参构造函数
2、使用位置:子类构造函数的第一条语句
3、注意点:
       1).只能是子类构造函数中的第一条语句位置;
       2).如果没有出现super(形参1,形参2...);不会有一个默认隐藏的super(形参1,形参2...);
       3).注意参数,注意调用的父类构造函数 
6、this和super的区别
this代表本类对象的引用。
super代表父类的内存空间的标识。(可以理解为父亲对象引用)
super与this一样不能用在静态方法中
1)this关键字:
this.属性名     this.方法名    
this:指当前对象,调用当前对象的属性和方法
         (可能是从父类继承下来的)
         如果子类隐藏了父类的属性和方法,想要
访问父类的属性和方法,就要用super。
2)this();
1、作用:调用本类的无参构造函数
2、使用位置:放在构造函数的第一条语句
3、注意点:
       1).必须是构造函数中的第一条语句
       2).在子类构造函数中super();和this();同时使用时,二选一
3)this(参数):
1、作用:调用本类的有参构造函数
2、使用位置:有参构造函数的第一条语句
3、注意点:
        1).不能自己调用自己(死循环)
        2).注意参数,注意调用的本类构造函数
总结:
this和super的使用:
      成员变量:this.变量 ---当前类的变量
                super.变量 ---父类的变量
      构造方法:用在构造方法中时
               this(参数) ---本类的构造方法
               super(参数) ---父类的构造方法   
      成员方法:
               this.方法名() ---本类的方法
               super.方法名() ---父类的方法
7、重写的定义:
    在父类和子类中,子类的方法和父类中的某个方法,方法名相同,参数列表相同。在子类中对属性或方法重新赋值,实现子类自己的行为。则这两个方法构成重写
 注意:
      (1)子类重写的方法,访问修饰符范围必须大于等于父类的访问符范围。
      (2)子类重写中,如果父类方法返回引用类型,方法重写遵循子类返回类型小于等于父类的返回类型。
                       如果父类返回类型是基本类型,则子类重写的方法返回类型要和父类的返回类型相同
8、重载和重写的区别
重写:一定在父类和子类两个类中, 要有继承关系
重载:一定在在同一个类中
注意:
1:构造方法不可以被重写。
2:子类方法访问权限一定要大于等于父类方法访问权限。
3:静态只能覆盖静态。
思考:构造方法是否可以重写?构造方法是否可以重载?
               可以被重载,不可以被重写,因不可以为构造函数被继承
9、如果有继承关系,执行顺序如下:
 父类静态代码块---子类静态代码块--父类代码块--父类构造函数--子类代码块--子类构造函数
9、整理Eclipse中常用的快捷键-补充【面试题】
          (1).Ctrl+F:搜索
 (2).Ctrl+H:?在整个项目中搜索
 (3).Ctrl+Y:?重做(取消撤销)
 (4).Ctrl+Shift+R:?打开资源
          (5).Ctrl+Shift+F4:?关闭所有打开的Editer
 (6).Ctrl+Shift+X:?把当前选中的文本全部变成大写
 (7).Ctrl+Shift+Y:?把当前选中的文本全部变成小写
 (8).Ctrl+Shift+P:定位到匹配符(即定位到第一个大括号或最后一个大括号)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值