java基础---面向对象总结3

抽象类和接口

一.抽象类(abstract class)

声明抽象类的关键字是abstract

abstract 关键字可以用来修饰方法和类

抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明抽象类

  • 修饰方法——抽象方法

    public abstract void method();
    

    只有方法的声明,没有方法的实现,它是让子类用方法重写来实现的

  • 修饰类——抽象类

    public abstract class Father{...}
    

    不能用new关键字创建对象,它是用来让子类继承的

抽象类的的作用

子类继承抽象类------>子类必须实现抽象类没有实现的抽象方法 ,否则子类也要声明为抽象类

抽象类存在的意义

提高开发效率,但是用的少,用接口多

注意

抽象类不能用new创建对象,由子类实现,但是依然存在构造器

如下代码示例:

抽象父类中:

package com.xun.abstract_;

public abstract class Father {
    public void method(){        //普通方法

    }
    
    public abstract void method1();  //抽象方法  只有方法的定义没有方法的实现
}

子类中:

package com.xun.abstract_;

public   class Son extends Father {
    @Override
    public void method1() {  //方法重写
        System.out.println("实现抽象Father类的抽象方法");
    }
}

二.接口(interface)

我们知道,普通类只有具体的实现,抽象类中具体实现(普通方法)和规范(抽象方法),接口只有规范,约束和实现分离——面向接口编程

1.声明接口的关键字是 interface

public interface UserServise{...} //定义一个Userservise接口

2.在接口中只能定义方法,不能实现方法

方法默认为(abstract)抽象方法,即void method();——>默认为 public abstract void method();

void add();   //增     默认(public abstract)void add();
void delate(); //删
void update(); //改
void query(); //查

3.接口中定义了方法后,由类重写方法实现

用关键字——implements

接口中

package com.xun.interface_;

public interface UserService {

    void add();    //定义的方法(void method();)默认为  public abstract
    void delate();
    void update();
    void query();

实现类(implements)中

package com.xun.interface_;

public class UserServiceImp implements UserService {
    @Override
    public void add() {

    }

    @Override
    public void delate() {

    }

    @Override
    public void update() {

    }

    @Override
    public void query() {

    }

}

可用implements实现多继承,即多个接口

public class UserServiseImp implements UserServiseTimeServise{...}
//定义UserServiseImp类来实现接口UserServise和TimeServise

在用implements实现接口后,必须重写接口中的方法,否则会报错

4.接口中有时也可定义属性(但是一般不在接口中定义属性)

在接口中定义的属性为常量,不能定义变量

默认 public static final

int Age =100;   //默认 (public static final) int Age =100;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值