一面向对象深化

抽象类和抽象方法

  抽象类

  什么是抽象类:使用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 }

        

原文地址:https://www.cnblogs.com/zqfdgzrc/p/10342221.html