Java面向对象_抽象类、接口

一、抽象类

概   念:很多具有相同特征和行为的对象可以抽象为一个类;很多具有相同特征和行为的类可以抽象为一个抽象类

关键字:abstract

规   则:1.抽象类可以没有抽象方法,有抽象方法的类必须是抽象类

    2.非抽象类继承抽象类必须实现所有抽象方法

    3.抽象类可以有方法和属性

    4.抽象类不能被实例化

    5.抽象类不能声明为final(用final声明的类不能被继承,而抽象类就是要被别的类继承)

 public class Practice14 {

     public static void main(String[] args) {
// TODO Auto-generated method stub }
}
//具体类继承抽象类必须要实现抽象方法
class Man extends Person{
//实现抽象类的抽象方法
public void eat(){
System.out.println("大口吃饭");
}
}
class Women extends Person{
public void eat(){
System.out.println("小口吃饭");
}
}
//抽象类
abstract class Person{
private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public abstract void eat();//没有实现,抽象方法。有抽象方法的一定是抽象类,抽象类不一定有抽象方法
}

二、接口

概      念:1.接口是一组行为的规范、定义

         2.使用接口,可以让我们的程序更加利于变化

         3.接口是面向对象编程体系中的思想精髓之一

         4.面向对象设计法则:基于接口编程

使用规则 :1.接口可以继承多个接口

      2.一个类可以实现多个接口

        3.抽象类实现接口可以不实现方法

4.接口中所有方法访问权限都是public

5.接口中定义的属性都是常量

 public class Practice14 {

     public static void main(String[] args) {
// TODO Auto-generated method stub
Girl g=new Girl();
g.cry();
g.eat();
}
}
//一个类实现多个接口
class Girl implements Hit,Eat{
public void cry(){
System.out.println("哭");
}
public void eat(){
System.out.println("吃");
}
}
//接口
interface Hit{
String info="";//属性就是常量 public static final
void cry();//接口中的方法默认为public
} interface Eat{
void eat();
public default void print(){//默认的方法,jdk1.8中加入的新特性
System.out.println("default");
}
}
上一篇:java 面向对象编程--第十章 接口


下一篇:java面向对象编程(类、对象)