抽象类和抽象方法
抽象类
什么是抽象类:使用abstract修饰的类为抽象类
1 public abstract class Person{
2 }
抽象类的特征
1.不可以创建对象
2.可以有构造方法
抽象类中构造方法的作用,是提供给子类调用
抽象类中可以包含哪些成员
成员变量,成员方法,静态方法,构造方法,final修饰的方法
1 package com.zqf.abstractpro;
2
3 public abstract class Person {
4 //(1)成员变量/实例变量/属性
5 private String name; //姓名
6 //(2)成员方法/实例方法
7 public void info(){
8 System.out.println("大家好,我叫"+name);
9 }
10 //静态方法
11 public static void show(){
12 }
13 //构造方法
14 public Person(){
15 System.out.println("Person类中的无参构造方法");
16 }
17 //final修饰的方法,只能被子类调用,不允许被子类重写
18 public final void fun(){
19
20 }
21 }
抽象方法
什么是抽象方法:使用abstract修饰的方法称为抽象方法
抽象方法的特征:1.抽象方法不允许有方法体,只能以分号“;”结尾;
2.抽象方法只能声明在抽象类中(含有抽象方法的类必须是抽象类)
3.抽象方法必须被子类实现
接口详解
初识接口:如果一个类中,所有的方法为abstract方法,那么这个类就可以声明为接口
接口的定义:使用interface修饰,是一种数据类型,引用数据类型
接口的定义:
1 public abstract class Myclass{
2 public abstract void show();
3 public abstract String fun();
4 public abstract int[] method();
5 }
利用接口可以改为:
1 public interface MyInterface{
2 void show();
3 String fun();
4 int[] method();
5 //public MyInterface(){} //注意,此方法为错的,接口中不准定义构造方法
6 }
注意:接口中,不能定义方法
接口的定义:使用interface修饰,是一种数据类型,引用数据类型
接口的定义:
1 public interfacce MyInterface{
2 void show();
3 }
接口中可以包含什么:1,抽象方法(public abstract ),2.非抽象方法,3属性,接口中的属性必须是公众的,即(public static fianl)常量,4.接口中不能包含构造方法,
接口与类的方法:1.类去实现接口中的抽象方法,类与接口中的关系——实现关系,implements ,(实现接口的所有抽象方法)
2.一个类存在继承关系,有存在实现关系,extends , implements (继承 __父子关系,—亲爹)
实现__实现关系 —干爹
3.如果父类与接口中有完全相同的方法(一模一样),子类实现的方法是父类的还是接口的?
父类优先于接口,子类实现的是 父类中的方法
4.如果父类中与接口中有同名方法,对子类/实现类有什么要求
接口的特征和使用意义
1 public interface InterfaceA{
2 public void show();
3 }
4 interface InterfaceB extends InterfaceA{
5 }
6 interface InterfaceC extends InterfaceB{
7 }
8 }