1.在继承中被继承的类称为父类(基类或超类),实现继承的类称为子类,子类具有父类属性和方法以及自身的特殊性
2.java继承使用关键字extends java中只有单继承
3.java继承的特点- 但根性
- 具有传递性
4.Object是所有类的父类
5.super关键字调用父类方法
6.重写:发生在继承中,父类中存在的方法在子类中重写,调用时有重写时调用子类的方法
7.重写是方法全部相同但方法体不同的方法,重写在父类和子类中发生
8.注解(Annotation)在方法头上写其中”@Override“是注解。
9.调用子类构造方法同时会调用父类的无参的构造方法,如果父类自定义了构造方法,但没有无参构造方法就会报错。
10.在子类中调用父类构造方法super();super只能使用在子类构造方法的第一行
package com.kaishengit.java8;
public class Student extends Person{
public Student() {
super("");
System.out.println("create student!");
}
@Override
public void say() {
super.say();
System.out.println("会说英语");
}
public void study() {
System.out.println("学习");
}
}
11.面向对象的三大特征
- 封装
- 继承
- 多态
- public
- protected
- 缺省
- private
13.一个类中包含一个或多个抽象方法时这个类必须声明成抽象类
14抽象类不能用new关键字来实例化,抽象类用于被子类继承.
15.当一个子类继承抽象类时子类必须去实现父类所以抽象方法或者子类也声明成抽象类
16.抽象方法不能有方法体。
package com.kaishengit.java8;
public abstract class Person {
//抽象方法
public abstract void work();
public void say() {
System.out.println("会说话");
}
public void run() {
System.out.println("会跑步");
}
}
17.抽象方法和抽象类声明,关键字abstract 例如:
public abstract void aa();
18.抽象类是类的抽象,接口是抽象类的抽象。
19.类实现接口必须实现接口的所有方法,除非该类声明为抽象类。
20.类实现接口的关键字implements, java中一个类 可以实现多个接口
21.接口不能被实例化,接口可以继承接口,接口中可以实现多继承接口默认public 接口没有构造方法
package com.kaishengit.java8;
public interface Usb {
public void start();
public void stop();
}
22.接口定义:关键字interface ,例如:
public interface aa();
23.接口中不能有变量,方法体,只能有方法定义, 接口中属性只能定义成公共静态属性即public static String a;
24.接口中String a;默认是静态公共属性效果和上面的一样。
25.接口指向实现类:当接口作为方法参数或返回类型时代表该方法可以传入或返回接口中任意实现类对象调用时只能调用接口的方法。
26.父类指向子类:当父类作为方法参数或返回类型时代表该方法可以传入或返回父类本身以及其子类对象的家族类,调用时只能调用父类的方法,如果子类重写将执行子类否则执行父类.
27.不定项参数- 定义:数据类型... 变量名 例如:int... a
- 不定项参数本质上是数组,接收时需要用数组接收
- 没有参数时可以忽略
- 可以传入0个或多个参数而不是以数组的形式表示
- 不定项参数在一个参数列表中只能出现一次
- 如果参数列表中有多个参数不定项参数只能是参数列表中的最后一个
- public void say(int a,int b,int... c){}
public void aa(int a,int b,int... c){
int s = a;
int t = b;
int[] st = c;
}