修饰符
访问控制符修饰成员时的访问权限如下表所示
修饰符-----------本类 ----------------同一个包中的类-----------子类--------------------其他类
public------------可以访问-----------可以访问--------------------可以访问--------------可以访问
protected-------可以访问-----------可以访问--------------------可以访问--------------不能访问
默认--------------可以访问----------可以访问--------------------不能访问--------------不能访问
private------------可以访问----------不能访问--------------------不能访问--------------不能访问
接口
1、
接口的概述
接口可以看成是特殊的抽象类,即只包含有抽象方法的抽象类
interface Baller{
public static int DEFAULT_SPEED
= 50;
public void run();
}
2、接口的实现:
●与继承不同,一个类可以实现多个接口,实现的接口直接用逗号分隔。当然,该类需要实现这些接口中定义的所有方法;
●一个类可以通过implements关键字“实现”接口。一个类实现了某个接口后必须实现该接口中定义的所有方法。
class BigBall implements Baller,……{
public void run(){
System.put.println(“run……”);
}
}
接口的优点
1、
类与接口的关系,实现关系,而且是多实现,一个类可以实现多个接口,类与类之间是继承关系,JAVA中的继承是单一继承,一个类只能有一个父类,打破了继承的局限性。
2、
对外提供规则(USB接口)
3、
降低了程序的耦合性(可以实现规模开发,定义好规则,每个人实现自己的模块,提高了开发的效率)
package cn.cp.day05;
/*
- 抽象类的特点:
- 1、抽象方法只能放在抽象类中;
- 2、抽象类和抽象方法都是被abstract修饰的;
- 3、抽象类不能创建对象(不能被实例化);
- 4、抽象类中可以有非抽象方法的;
- 5、抽象类和类的关系是继承关系;
- 6、如果一个类继承了抽象类,要么就重写所有的抽象类,要么就是它本身设置为抽象类;
- 员工:
- 需求:
- 1、公司中
- 程序员(programmer):姓名,年龄,工号,工资,工作;
- 项目经理(Manager):姓名,年龄,工号,工资,奖金,工作;
*/
public class AbstractDemo {
}
abstract class Emp{
String name;
int age;
int id;
double salary;
public abstract void work();
}
class Programmer extends Emp{
@Override
public void work() {
System.out.println("敲代码……");
}
}
class Manager extends Emp{
double bonus;
@Override
public void work() {
System.out.println("监督敲代码。");
}
}