1.继承
继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。
如果某类B“继承”另某类A,就把这个B称为“A的子类或派生类(subclass)”,而把类A称为“B的父类”也可以称为“A是B的超类或基类(superclass)
为什么需要继承
1.提供代码的可重用性;
2.起到扩展作用。
语法
public class 子类名 extends 父类名{
}
java中只允许单继承,一个类只能有一个父类,但是允许多层继承。如A继承B,B继承C.
注意:
符合IS-A标准,才能使用继承,谁是谁的一种。
创建子类对象时构造方法的执行顺序
构造方法的特点:
1.方法名与类名相同;2.无返回值
作用:
创建对象
先执行父类的构造方法再执行子类的构造方法
例:下面顺序是
staticA,构造c,staticB,代码块a,构造A,代码块b,构造b
public class Test02 {
public static void main(String[] args) {
new B();
}
}
class A{
static {
System.out.println("staticA");
}
{
System.out.println("代码块a");
}
public A(){
System.out.println("构造A");
}
}
class B extends A{
static C c=new C();
static {
System.out.println("staticB");
}
{
System.out.println("代码块b");
}
public B(){
System.out.println("构造b");
}
}
class C{
public C(){
System.out.println("构造c");
}
}
2.方法重写
方法重写发生在父子类中,子类中出现与父类同名的方法
特点:
方法名与父类相同,参数相同,返回类型相同,访问修饰符不能小于父类,抛出异常不能大于父类
为什么需要重写
父类中的功能无法满足子类中的需求时需要重写
重写后创建子类对象后,调用的方法是重写后的方法
supper
super表示父类的对象。任何一个子类中都可以使用super来调用父类中的代码。 this本类的对象。
可以调用父类中的方法,也可以调用父类中的构造方法。
final
final: 最终的。 修饰属性 修饰方法 修饰类都表示最终的。
修饰类: 表示该类不能被继承。例子: String类。
修饰方法: 表示该方法是一个最终的方法,表示不能被重写。
修饰属性: 表示该属性为常量。必须赋值。不允许改该值
3.访问修饰符
可以限制类成员的访问范围
public:公有的,任何类都可以访问。
protected:保护的,同包或不同包下的子类可以访问
默认的default:同包下可以访问
private:私有的,表示同类可以访问
修饰符 | 同一类内 | 同一包内 | 不同包的子类 | 不同包的非子类 | 适用对象 |
public | 可见 | 可见 | 可见 | 可见 | 类,接口,变量,方法 |
protected | 可见 | 可见 | 可见 | 不 | 变量,方法 |
default | 可见 | 可见 | 不 | 不 | 类,接口,变量,方法 |
private | 可见 | 不 | 不 | 不 | 变量,方法 |
4.根类Object
Object它是所有类的根类。如果一个类没有继承任何类,那么默认继承了Object.
常见的方法
toString()方法: 打印对象的信息。当打印一个对象时默认调用的就是toString方法。
equals方法。
equals方法与==的区别
标签:重写,修饰符,继承,子类,Object,根类,父类,方法,public From: https://blog.csdn.net/weixin_51635918/article/details/143886377== 在基本数据类型:值内容, 引用类型时:地址
equals 重写:值内容(如String里面的equals方法) , equals不重写:地址