【发布时间】:2011-03-21 01:09:06
【问题描述】:
我知道在abstract 类中将方法声明为private 不是一个好的编码习惯。即使我们无法创建abstract 类的实例,为什么private 访问修饰符在abstract 类中可用,它在abstract 类中的范围是什么?在abstract 类中使用private 访问说明符的情况是什么?
查看这段代码,其中Vehicle 类是抽象的,Car 扩展了 Vehicle。
package com.vehicle;
abstract class Vehicle {
// What is the scope of the private access modifier within an abstract class, even though method below cannot be accessed??
private void onLights(){
System.out.println("Switch on Lights");
}
public void startEngine(){
System.out.println("Start Engine");
}
}
Within 是创建 Car 类的同一个包
package com.vehicle;
/*
* Car class extends the abstract class Vehicle
*/
public class Car extends Vehicle {
public static void main(String args[]){
Car c = new Car();
c.startEngine();
// Only startEngine() can be accessed
}
}
【问题讨论】:
标签: java abstract-class private