Day11 Abstract interface 范围修饰符

1 抽象 Abstract

抽象的 不具体(信息不完整)

// 一个没有方法体的方法应该定义为抽象方法

// 一定被继承

修饰 : 类、普通方法

特点:
1 抽象方法 不能有方法体 ({}也是方法体的一部分)

​ 2 有抽象方法的类必须是抽象,但抽象类中可以没有抽象方法

​ 3 抽象类可以定义引用,但不可以创建对象

​ 抽象类存在的意义不是用于创建对象 而是被子类继承 为子类定义规范

​ 抽象方法存在的意义不是被对象调用 而是为子类的方法定义规范 定义方法声明

​ 4 抽象类有构造方法:用于创建子类对象时 把抽象类中定义的成员变量和实例方法加载进子类对象内存中

​ 5 子类继承抽象类 除非“重写”所有的抽象方法 否则仍然是抽象类

​ “重写”所有的抽象----实现implement

(根据抽象的特点:可以修改以前的代码)

abstract类的引用使用一定是多态

abstract class Demo03{
	int  a;
	void show() {}
	abstract void hehe();
	abstract void haha();

	Demo03(){}
	Demo03(int a){}
}
    //---------------------
abstract class Animal2{
	String name;
	String type;
	public Animal2(String name, String type) {
		this.name = name;this.type = type;
	}
	//Animal信息不完整  无法实现eat和yunDong   此方法存在的意义::为子类定义规范
	abstract void eat();
	abstract void yunDong();
}

2 接口 interface

当一个抽象类的所有方法都是抽象方法时 可以定义为接口
接口::协议
类似于特殊的抽象类: 接口已经不属于类的范畴

使用:就当抽象类使用即可
关键字:interface
作用:为实现类定义规范

特点:

  • 1 接口可以定义引用(多态) 但不能创建对象//创建对象是类的事
  • 2 接口没有构造方法
  • 3 接口中的方法 默认修饰符 public abstract
  • 4 接口中的成员变量 默认修饰符public static final
  • 5 实现类实现接口通过关键字implements: 一个类可以实现多个接口 并且同时还可以继承父类
    如:class Inter1Class extendsDemo05Fu implements Inter1,Inter2{}
  • 6 接口中可以定义默认方法:实现类可以选择去实现接口的默认方法;如果不实现 就使用接口中定义的
    如:default void hai() {}//默认方法
  • 7 接口之间是多继承的关系:一个子接口可以同时继承多个父接口
    如:interface Inter3 extendsInter1,Inter2{}
    优点: 增加扩展性 降低耦合度
关系关键字总结案例
类与类extends单继承class Zi extends Fu{}
类与接口implements多实现class Zi implements inter1,inter2,inter3{}
接口与接口extends多继承interface inter1 extends inter2,inter3{}

3 范围修饰符

范围修饰符名称本类本包的子类本包的非子类其他包的子类其他包的非子类总结类似于
public公共的可以可以可以可以可以整个项目同一个物种
protected受保护的可以可以可以可以本包和其他包的子类关心的
(default)省略的可以可以可以本包村支书
private私有的可以本类存折
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值