您的位置:首页 > 其它

接口抽象类

2016-03-05 21:49 295 查看
1.方法的重写:

在子类继承父类后,子类定义了一个和父类相同的方法(方法名、参数、返回值类型均相同)

父类中的方法:

public class Student {
public void study (){
System.out.println("学习了");
}
}


子类继承父类中的方法并完成重写:

public class UnStudent extends Student {
public void study (){
System.out.println("大学生学习了");
}
}


当我们分别对父类和子类创建对像并调用里面的方法时:

public static void main(String[] args) {
Student stu = new Student();
UnStudent stu2 = new UnStudent();
stu.study();
stu2.study();
}


可以发现stu对象调用方法执行的是父类中的study方法,stu2对象执行的是子类中重写的方法。

注意:构造函数是不能被继承,所以也不存在构造函数重写。

2.自动转型:

创建子类的对象,然后自动转型为父类的类型。

格式:

父类类名  对象名  = new  子类类名();


我们在主函数中再创建一个自动转型的对象:

public static void main(String[] args) {
Student stu = new Student();
UnStudent stu2 = new UnStudent();
Student stu3 = new UnStudent();
stu.study();
stu2.study();
stu3.study();}


可以得出结论:

如果子类重写了父类,则转型后的的对象执行的是重写后的方法;

反之,如果子类没有重写父类,则重写后的对象执行的是父类自己的方法。

3.多态:体现:多个同一种类型的对象,执行同一个方法,执行的过程不一样(原因:自动转型+方法重写 )

4.方法分类:构造方法、普通方法、抽象方法。

命名规则—构造方法:

public 类名(){}


普通方法:

public 返回值类型 方法名(参数){}


抽象方法:

public abstract 返回值类型 方法名(参数);


5.类的分类:普通类、抽象类、接口

关键字:extends

命名规则—普通类:

public class 类名{}


1.只能有普通方法和构造方法,一定不能有抽象方法

2.可以创建对象

3.属性可以是常量(static final),也可以是变量

抽象类:

public abstract class 类名{}


1.三种类型的方法都可以存在

2.不能创建对象

3.属性可以是常量(static final),也可以是变量

接口:

public interface 类名(){}


1.只能有抽象方法,普通方法和构造方法不存在

2.不能创建对象

3.属性一定是常量(static final)

抽象类:

public abstract class  Student{
public Student(){}
public void  study(){
System.out.println("学生学习了");
}
public abstract void study2();
}


普通类继承抽象类:

public class UnStudent extends Student {
public void study2() {
System.out.println("大学生学习了");
}
}


普通类在继承抽象类时需将抽象类中的抽象方法实例话否则会报错;

同样普通类在继承接口的时候也需要将接口中的方法重写。

在类的继承中,普通类可以继承抽象类和接口,抽象类可以继承接口,但反过来普通类不能被其余两种类继承,同样抽象类不能被接口所继承。

6.接口的继承

接口和抽象类的作用是用来当父类被继承的,抽象方法是用来指导子类重写(实现)的

关键子:implements

格式:

public class 子类类名  implements 接口名{
//重写父类的所有的抽象方法
}


接口无非就是领导,只是指导开发
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: