大数据笔记5/11

修饰符

访问控制符修饰成员时的访问权限如下表所示:

修饰符本类同一包中的类子类其他类
public可以访问可以访问可以访问可以访问
protected可以访问可以访问可以访问不能访问
默认可以访问可以访问不能访问不能访问
private可以访问不能访问不能访问不能访问

通过对象直接访问成员变量,这样操作,会引起数据安全问题

考虑:能不能不让外界直接访问对象的成员变量?

使用private解决

  • private:是一个修饰符
  •  	可以修饰成员变量,也可以修饰成员方法
    
  •  	被private修饰的成员只能在本类中被访问
    
  • 提供相应的 getXxxx()和 setXxxx()方法用于获取和设置成员变量的值,方法用public修饰

接口

接口可以看成特殊的抽象类,即只包含有抽象方法的抽象类

interface Baller{
	public static int DEFAULT_SPEED = 50;
	public void run();
}

接口的实现

  • 与继承不同,一个类可以实现多个接口,实现的接口直接用逗号分隔。当然,该类需要实现这些接口中定义的所有方法
  • 一个类可以通过 implements 关键字“实现”接口。一个类实现了某个接口后必须实现该接口中定义的所有方法
class BigBall implements Baller,...{
    public void run(){
        System.out.println("run...");
    }
}
接口:
成员的特点:
  • 只能使用抽象方法

  • 只能有常量

  • 默认使用public abstract 修饰方法

    默认使用public static final 修饰成员变量

使用的时候,注意:
  • 接口不能被实例化

  • 类与接口是实现关系,一个类实现一个接口必须实现它所有的方法

接口间可以存在继承关系,一个接口可以通过extends关键字继承另一个接口,子接口继承了父接口中定义的所有方法

interface A{
	public abstract void run();
}

interface B extends A{
	public void hunt();
}

class C implements B{

	@Override
	public void run() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void hunt() {
		// TODO Auto-generated method stub
		
	}
}
/* C必须实现B接口中的hunt方法以及其父接口A中的run方法 */

接口的优点

  1. 类与接口的关系,实现关系,而且是多实现,一个类可以实现多个接口,类与类之间是继承关系,java中的继承是单一继承,一个类只能有一个父类,打破了继承的局限性
  2. 对外提供规则
  3. 降低了程序的耦合性(可以实现模块化开发,定义好规则,每个人实现自己的模块,提高了开发的效率)

抽象类

  • abstract:关键字,用于修饰方法和修饰类

  • 抽象方法:不同类的方法是相识的,但具体实现的内容不一样,所以我们只能抽取它的声明,没有具体的方法体

  • 有抽象方法的类就是抽象类

  • 一个类继承了抽象类,需要重写抽象类中的抽象方法

抽象类的特点
  1. 抽象方法只能放在抽象类中
  2. 抽象类和抽象方法都是被abstract修饰的
  3. 抽象类不能创建对象(不能被实例化)
  4. 抽象类中可以有非抽象方法的
  5. 抽象类和类的关系是继承关系
  6. 如果一个类继承了抽象类,要么就重写所有的抽象方法,要么就它本身设置为抽象类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值