码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA面向对象 - 抽象类、接口

时间:2020-02-20 10:00:07      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:xtend   bsp   ima   src   use   img   封装   方法   需要   

抽象类

用abstract关键字来修饰一个类时,这个类就叫抽象类,用abstract关键字来修饰一个方式时,这个方法就是抽象方法。当一个类继承的父类是抽象类的话,需要我们把抽象类中的所有抽象方法全部实现。那为什么要用抽象类呢?当父类的一些方法不能确定时,可以先在抽象类里定义抽象方法。

 

注意事项

Ⅰ.抽象类不能被实例化

Ⅱ.抽象类不一定要包含abstract方法。

Ⅲ.一旦类包含了abstract方法,则这个类必须声明为abstract

Ⅳ.抽象类不能有主体

 

实例

 1 package com.beekc.www;
 2 
 3 public class Beekc {
 4     public static void main(String[] args) {
 5         Animal an = new Dog();
 6         an.cry();
 7         an = new Cat();
 8         an.cry();
 9     }
10 }
11 
12 //抽象类
13 abstract class Animal
14 {
15     private int age;
16     private String name;
17     //抽象方法
18     abstract public void cry();
19 
20 }
21 
22 class Cat extends Animal
23 {
24     //继承了Animal,一点要实现cry方法
25     public void cry()
26     {
27         System.out.println("猫猫,喵喵叫~");
28     }
29 }
30 
31 class Dog extends Animal
32 {
33     //继承了Animal,一点要实现cry方法
34     public void cry()
35     {
36         System.out.println("狗狗,汪汪叫~");
37     }
38 }

 

运行结果

技术图片

 

接口

接口就是给出一些没有内容的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。接口是更加抽象的抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体。接口体现了程序设计的多态和高内聚低偶合的设计思想。

 

注意事项

Ⅰ.接口不能被实例化

Ⅱ.接口中所有的方法都不能有主体

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

Ⅳ.接口中可以有变量,但变量不能用private和protected修饰

Ⅴ.一个接口不能继承其他的类,但是可以继承别的接口

 

实例

 1 package com.beekc.www;
 2 
 3 //定义一个叫Usb的接口,用interface关键字
 4 interface Usb
 5 {
 6     int a= 1;
 7     //定义两个方法
 8     public void start();
 9     public void stop();
10 }
11 
12 //相机类继承一个接口,用implements关键字
13 class Camera implements Usb
14 {
15     //继承了接口,一定要Usb接口里的方法
16     public void start()
17     {
18         System.out.println("我是相机,开始工作了!");
19     }
20     public void stop()
21     {
22         System.out.println("我是相机,停止工作了!");
23     }
24 }
25 
26 //手机类继承一个接口,用implements关键字
27 class Phone implements Usb
28 {
29     //继承了接口,一定要Usb接口里的方法
30     public void start()
31     {
32         System.out.println("我是手机,开始工作了!");
33     }
34 
35     public void stop()
36     {
37         System.out.println("我是手机,停止工作了!");
38     }
39 }
40 
41 //计算机
42 class Computer
43 {
44     //开始使用接口
45     public void useUsb(Usb usb)
46     {
47         usb.start();
48         usb.stop();
49     }
50 }
51 
52 
53 public class Beekc {
54     public static void main(String[] args) {
55         System.out.println(Usb.a);
56         Computer computer = new Computer();
57         Camera camera = new Camera();
58         Phone phone = new Phone();
59         computer.useUsb(camera);
60         computer.useUsb(phone);
61     }
62 }

 

运行结果

技术图片

 

JAVA面向对象 - 抽象类、接口

标签:xtend   bsp   ima   src   use   img   封装   方法   需要   

原文地址:https://www.cnblogs.com/beekc/p/12334126.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!