父类所有的方法属性,子类公有的,只要继承父类,就可以直接使用
子类中编码可以实现子类独有的方法和属性
继承的特点
利于代码的复用
缩短开发周期
继承介绍
一种类和类之间的关系
使用已存在的类的定义作为基础建立新的类
新类的定义可以增加新的数据和新的功能,也可以用父类的功能,但不能选择性的继承父类
继承时有条件的
满足”A is a B” 的关系才可以形成继承关系
继承如何实现
编写父类
class Animal{//公有的属性和方法}
编写子类,继承父类 只能继承一个父类
class Dog extends Animal{//子类独有的方法和属性}
class Cat extends Animal{//……….}
方法的重写
方法重载回顾
方法的重写
语法规则:
1、返回值类型
2、方法名
3、参数类型、顺序、个数 统一的都是和父类继承的方法必须相同
访问修饰符是允许有变化的,但是有条件的????
方法重写注意点
在子类中,我们可以定义与父类重名的属性
访问修饰符
公有的:public
私有的:private
受保护的:protected
默认:
super关键字
问题:子类调用的方法是继承的父类的方法还是自己重写的方法??
super:父类对象的引用
继承初始化顺序
满足继承关系的对象是如何产生的?
执行流程
cat父类是animal
super和this区别
this:当前的对象的引用
访问当前类的成员方法
访问当前类的成员属性
访问当前类的构造方法
不能再静态方法中调用
super:父类对象的引用
访问父类的成员方法
访问父类的成员属性
访问父类的构造方法
不能再静态方法中调用
super和this不能同时出现。
继承
概念
语法class Dog extends Animal{
子类(派生类)
父类(超类、基类)
}
super
访问父类成员方法 super.print()
成员属性 super.name;
访问父类的构造方法 super();
Object final 注解
如何下载jdk
https://jingyan.baidu.com/album/6b97984de7c8411ca2b0bf1d.html?picindex=1
课程简介
object类
final关键字的使用
注解简介
object类
1、是所有的类的父类
2、一个类没有使用extends关键字明确标识继承关系,那就表示默认继承object类
3、Java中的每个类都可以使用object类中定义的方法
结果:
1、==比较的是false,因为不同new的对象指向的是不同的内存空间
2、但是String类型重写了equals方法,比较的是里面的具体的内容。
toString()方法
final关键字的使用
有时候不希望有些类被调用,有些方法被重载,或者一些值被修改
final修饰变量,根据作用域不同,分为2类
类中成员变量
方法中的局部变量
final总结:
修饰的类不允许被继承
修饰的方法不允许被子类重写
final修饰的方法可以被继承
不能修饰构造方法
修饰的变量不允许修改
方法内部的局部变量:在使用之前被初始化即可
类中的成员变量:只能在定义时、构造方法、构造代码块中进行。
基本数据类型的变量:初始化赋值之后不能再更改
引用类型的变量:初始化之后不能再指向另一个对象,但是对象的内容是可变的
final配合static一起使用 主要用在一些配置信息上
public static final String url = “www.dodoke.com”;
public static final int version = 1.0;
注解:
注解:
jdk 1.5版本之后引入的一个特性
可以声明在包、类、属性、方法、局部变量、方法参数等的前面,用来对这些元素进行说明、注释。
按照运行机制分
1、源码注解 注解只是在源码中存在,编译成.class文件就不存在了 @Override
2、编译注解 注解在源码和,class文件中都存在
3、运行时注解 spring注解:@Autowired 在运行阶段还起作用,甚至会影响运行逻辑的注解
按照来源分
1、来自jdk的注解 重写的@Override
2、来自第三方的注解 spring注解:@Autowired
3、我们自己也可以定义注解 xmlss
元注解
主要就是对注解进行注释的
Object
equals
toString方法
final static
注解
方法的重载和重写比较