A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Honne 初级黑马   /  2019-7-24 15:03  /  830 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

就业班   第一天-------------------------------继承
继承主要解决的问题就是:共性抽取
继承的特点:
1.子类可以拥有父类的"内容"
2.子类还可以拥有自己专有的新内容
3.继承是单继承,但可以多级继承
格式(子类):
public class 子类名称 extends 父类名称


在父子类的继承关系当中,如果成员变量重名,则创建子类对象时,访问有两种方式
直接通过子类对象访问成员变量: 等号左边是谁就优先用谁,没有则向上找,都没有则报错
间接通过成员方法访问成员变量: 方法属于谁,就优先用谁,没有则向上找,都没有则报错
--------------------------------------------------
在父子类的继承关系当中,创建子类对象,访问成员方法的规则
创建的对象是谁,就优先用谁,如果没有则向上找
--------------------------------------------------
继承关系中构造方法的访问特点
1.子类构造方法当中有一个默认隐含的super();先调用父类构造,再执行子类构造
2.可以通过super关键字来调用父类重载的构造方法
3.super的父类构造调用,必须是子类构造当中的第一句

注意事项: 无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找


super
用法有三种
1.子类的成员方法中,访问父类成员变量
super.变量名
2.在子类的成员方法中,访问父类的成员方法
super.父类成员方法名()
3.在子类构造方法中,访问父类的构造方法
super();
注意: super和this的构造调用,不能同时使用


方法的重写:
与重载的区别
[重写]Override:方法的名称一样, 参数列表也一样
[重载]Overload:方法的名称一样, 参数列表不一样

注意事项:
1.必须保证父子类之间方法名称相同,参数列表也相同
2.子类方法的返回值,必须[小于等于]父类方法的返回值范围
3.子类修饰符权限必须[大于等于]父类修饰符权限
public > protected > 普通(default) > private
(java.lang.)Object类是公共最高父类


-------------------------------修饰符
分为两类
权限修饰符: public > protected > 普通 > private
(访问范围: 同一个类/同包子类或无关类/不同包子类/不同包无关类)
状态修饰符
final
修饰方法:代表不能被重写
修饰变量:变量就变成常量
修饰类: 不允许被继承
注意: 修饰基本数据类型的时候,值不可改变
修饰引用数据类型时,地址值不能发生改变,但地址值指向的                                                                    内容可以发生改变

static
一旦使用了static关键字
这样的内容不再属于对象自己
而是属于类的
所以凡是本类的对象,都共享同一份

如果一个成员变量使用了static关键字,那么这个不变量不属于自己

一旦使用static修饰成员方法,那么这就成了静态方法,静态方法不属于对象,而是属于类的
如果没有static关键字,那么必须首先创建对象,然后通过对象才能引用它
如果有static关键字,那么不需要创建对象,直接就能通过类名称进行调用

注意事项:
1.静态不能直接访问非静态
原因: 因为在内存当中是先有的静态内容,后有的非静态内容
2.静态方法当中不能写this
3.根据类名称访问静态成员变量的时候,全程和对象没关系,只和类有关系

静态代码块的格式
public class 类名称{
    static {
        静态代码块的内容
        }
}

特点:当第一次用到本类时,静态代码块执行唯一的一次
静态内容总是优先于非静态,所以静态代码块比构造方法先执行

静态代码块的典型用途: 用来一次性的对静态成员变量进行赋值





0 个回复

您需要登录后才可以回帖 登录 | 加入黑马