回顾:
1.包名不允许大写,命名一般是域名反写或公司邮箱加功能
属性:
例:private String id;
构造方法:
没有返回值
为属性赋值创建对象
分成了无参和有参构造方法
无参有默认值
有参没有默认值
所有的类至少保证一个无参构造方法
this表示当前对象
1.继承extends
作用:能够将重复的属性和方法复用,通过继承来完成,降低代码冗余度
可以多重继承不能多继承
有继承,就会有父类(基类、超类)
保存共同属性和方法的类就是父类
子类(扩展类,派生类)
使用父类的共同属性方法的类就是子类
注:所有使用继承类,类都要是属于同类型的类
继承的语法:
子类 extends 父类 {}
注意:java中的类继承是单根(单,单一)继承,extends后面最多只能出现一个类 extend前是子类 extends 后是父类
class a {
属性
方法
}
b 继承了 a
class b extends a{
}
C继承继承了 A B 就是 多重继承
class c extends b{
}
子类不能从父类继承哪些成员?
1.父类中使用private修饰的成员都不能继承
2.构造方法是不能继承的
创建子类对象的流程
class A {
id;
name;
}
class B extends A{
}
new B ( ); //创建子类对象
创建对象流程:
1.在每个子类的构造方法中都有父类的构造方法
2.先创建父类对象
3.创建子类对象
this 是当前对象;
super 是父类对象;
super():调用父类的无参构造方法;
2.方法覆(重)写(override)
1.概念:在子类中有一个方法的签名(方法名/参数列表/形参列表)一致,就是方法的重写 要求:1.方法签名要一致
2.重写方法(子类的方法)的访问修饰符的权限要大于等于父类该方法的访问权限
3.重写方法的返回值类型范围要小于等于父类该方法的返回值类型
4.重写的意义:为了确保方法实现满足业务需求
5.检验一个方法是否是重写方法:@override
3.抽象方法
1、概念:没有方法体的方法就是抽象方法
2、abstract 返回值类型 方法签名;
3、抽象方法使用场景:要求子类必须要重写的方法(强制子类重写方法)
4、抽象方法需要保存至抽象类里
5、抽象类:使用abstract修饰的类,就是用来保存抽象方法
4.Object:
1.在Java是所有类的父类,所有类都是或间接继承继承
2.学习Object中常用的方法
1.toString() 将对象转换为字符串
2.getClass() 获取对象的字节码对象
3.hashCode() 通过哈希算将一个对象转换为10进制的数字
4.equals() 比较两个对象的属性值是否相等
5.== 比较的是对象内存地址是否相等
- ==与equals的区别
-
- == 比较的是对象内存地址是否相等
- equals比较的是属性值
2.&和&&的区别
& 是并的意思 需要同时满足两个条件才为真,前一个判断为false后还会继续判断后面的条件返回false
&& 是并的意思 需要同时满足两个条件才为真,是具有短路功能如果前一个为false那就会终中断直接返回 false
3.Override与Overload的区别
Overrid 在子类中有一个方法的签名(方法名/参数列表/形参列表)一致,就是方法的重写
Overload 表示同一个类中可以有多个名称相同的方法,但是这些方法的参数列表各不相同