继承 (entends)
一. 格式:
public class 子类名 extends 父类名{}
好处:
a. 提高了代码的复用性
b. 提高了代码的维护性
缺点:
继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性
什么时候使用继承?
假设法:我有两个类A和B,如果让门满足A是B 的一种,或者B是A的一种,就说明他们存在继承关系,这个时候考虑使用继承来提现,否则就不能滥用继承
比如,苹果和水果,猫和动物
二. 继承中变量的访问特点:
a. 子类局部方法范围中找
b. 子类成员范围找
c. 父类成员范围找
d. 如果都没有就报错
三. 在子类中this和super的区别
四. 方法重写
(@override , 这是个注解,可写可不写,但最好写上,它可以检测方法声明的正确性)
现象:
子类出现了和父类中一模一样的方法声明
应用:
当子类需要父类的功能,而功能主体子类有自己特有的内容时,可以重写父类 的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容
注意事项:
a.私用方法不能被重写(父类私用成员,子类是不能继承的)
b.子类重写的方法访问权限不能更低(public>默认>私用)
继承的注意事项
a. java 中的类支持单继承,不支持多继承
b. java中的类支持多层继承
五. 包
其实包就是文件夹
作用:对类进行分类管理
包的定义格式
格式:package 包名; // 多级包名用 . 分开
示例:package com.pack;
带包的java类编译和执行
1). 手动建包
a. 按照以前格式编译java文件 javac HelloWorld.java
b. 手动创建包 在c盘奖励文件夹com, 然后在com下简历文件夹pack
c. 把class文件放到包的最里面 把HelloWorld.class文件放到com下的pack文件下
d.带包执行 java com.itcast.HelloWorld
2). 自动建包: javac -d . HelloWorld java com.pack.HelloWorld
六. 修饰符
final:
final关键字是最终的意思,可以修饰成员变量,成员方法,类
特点:
a. 修饰方法:表示该方法是最终方法,不能被重写
b. 修饰变量:表示该变量是常量,不能被再次赋值
c. 修饰类:便是该类是最终类,不能被继承
final修饰局部变量
a.变量是基本类型:final修饰指的是基本类型的数据值不能发生改变
b. 变量是引用类型:final 修饰指的是引用类型的地址值不能发生改变,但是地址里 面的内容是可以发生改变的