A. java中局部变量可以使用访问控制修饰符吗
局部变量不可以使用访问修饰符,他就是在此方法体使用的变量,给它访问修饰符没有意义。因为无论给他private,public,protect,内部都能用到,再者编译也通过的
B. 属性有那些访问控制修饰符,分别是什么作用
public:表明该成员变量和方法是共有的,能在任何情况下被访问。
protected:必须在同一包中才能被访问
friendly:在这种情况下中,同protected]
private: 只能在本类中访问。
C. 面向对象三种访问控制修饰符在访问和继承时的区别
1、总体情况 java中4中修饰符分别为public、protect、default、private,说明了面向对象的封装性。 2、访问权限 访问权限 类 包 子类 其他包 public ∨ ∨ ∨ ∨ protect ∨ ∨ ∨ × default ∨ ∨ × × private ∨ × × ×
D. java 的访问修饰符是什么
Java中的访问修饰符
Java面向对象的基本思想之一是封装细节并且公开接口。Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节。访问控制分为四种级别:
(1)public: 用public修饰的类、类属变量及方法,包内及包外的任何类(包括子类和普通类)均可以访问;
(2)protected: 用protected修饰的类、类属变量及方法,包内的任何类及包外那些继承了该类的子类才能访问(此处稍后解释),protected重点突出继承;
(3)default: 如果一个类、类属变量及方法没有用任何修饰符(即没有用public、protected及private中任何一种修饰),则其访问权限为default(默认访问权限)。默
认访问权限的类、类属变量及方法,包内的任何类(包括继承了此类的子类)都可以访问它,而对于包外的任何类都不能访问它(包括包外继承了此类的子类)。default重点突出包;
(4)private: 用private修饰的类、类属变量及方法,只有本类可以访问,而包内包外的任何类均不能访问它。
网上一些资料及一些书上用表格对java访问修饰符做了清楚的总结,如下表所示:
重要总结:通过上面的分析,我们可以看到:
1.public、private和protected对我们来说没有任何异议。
2. 顶层类只能用public访问修饰符和default(默认)访问修饰符修饰,其中用默认修饰符修饰的类(及没有任何修饰符的类,如class B{})不能被其他包中的类继承,这也说明了default(默认)访问修饰符突出的是包权限
3. protected:本人做了一次实验,发现在不同包的子类中,new一个父类对象,并用该父类对象去访问父类中的用protected修饰的类属变量和方法时不能访问,而new一个子类对象时,子类对象可以访问(说明protected修饰的类可以被其他包中的类继承)。也可以在子类重写父类的方法中使用super关键字调用。这岂不是和上面表格中的总结(红色对勾)冲突了?本人也是百思不得其解。最后在网上找到了一个相对比较认可的解释,如下:
protected修饰符的修饰的成员变量和方法也称为受保护的成员变量和方法, 受保护的成员变量和方法可以在本类或同一个包中的其它类(包括子类)中通过类的实例进行访问,也可以被同一个包中的类或不同包中的类继承,但是不能在不同包中的其它类(包括子类)中通过类的实例进行访问。
4. 如果一个类使用public修饰,那该类的类名必须与他所在的源文件名相同。一个.java源文件中有且只有一个public类,顶层类只能用public和默认修饰符(即无修饰符)修饰;
5.final修饰的类不能被继承,没有子类。
6.abstract修饰的类不能被实例化,必须被子类继承。类只要有一个抽象方法就必定是抽象类,但抽象类不一定要有抽象方法。
最终总结,就一句话:protected修饰符所修饰的类(这句话中指父类)属成员变量和方法,只可以被子类访问,而不管子类是不是和父类位于同一个包中。default修饰符所修饰的类属成员变量和方法,只可被同一个包中的其他类访问,而不管其他类是不是该类的子类。protected属于子类限制修饰符,而default属于包限制修饰符。
E. 简述类中成员的几种访问控制修饰符的差异,并举例说明
public 是公用的,只要导入这个项目,任何项目都可以访问到该项目属性,方法等。
private 是私有的,只能在本类中使用和访问。
protected 是受保护权限的,只能在本项目中被识别和读取。
default 是默认的,说白了,和protected一样,很少用这个。
F. 类有那些访问控制修饰符,分别是什么作用
都别乱说 ,类的访问控制符就两个 :一个是public 公共类,即所有的类都能访问引用 该类。一个是package-private 包私有,只有本包的类才能访问 该类。 类的修饰符就多了,我知道的 有: final 最终类,最终的不能被继承,没子类。 static 静态嵌套类, 顾名思义,静态的。而且是嵌套的 ,外部类不能用static修饰,只有 嵌套类才行。 abstract 抽象类,就是 类中有方法是抽象方法。ps:全部都是抽象方法,就是接口了。
G. 方法有那些访问控制修饰符,分别是什么作用
方法有那些访问控制修饰符,分别是什么作用
public private protected 和友好型这四种:
public 可以让任何类访问到;
private只有本类中可以使用
protected 可以让不同包中的类访问但是它们必须有继承关系
友好型只能让本类和本包中的类访问
H. Java中类有哪些访问控制修饰符,并指出它们的访问控制作用范围
类的访问控制符只有public与默认两种;类成员的访问控制符包括public,private,protected,与默认,java中没有friendly。public代表允许所有类及成员访问,private代表仅允许本类成员访问,protected代表仅允许本类及其子类成员访问,默认代表允许本包中类及其成员访问
I. 成员变量和成员方法的访问控制修饰符有哪些
一共分四种,开放性有小到大 :public>defualt>protect>private
public:可以认为没有限制访问
defualt:同一个包中可访问(类中不写默认为次修饰符)
protect:本类以及所有子类可访问
private:本类内可访问
J. Java 访问控制修饰符
帮你找了一篇博客,写的很好:http://xuyan6688.blog.163.com/blog/static/2920588920115178519198/
public :能被所有的类(接口、成员)访问。
protected:只能被本类、同一个包中的类访问;如果在其他包中被访问,则必须是该成员所属类的子类。
private:成员变量和方法都只能在定义它的类中被访问,其他类都访问不到。对成员变量的进行获取和更改,一般用get(),set() ,public 方法。实现了Java面向对象的封装思想。
friendly(缺省):访问权限与protected相似,但修饰类成员时不同包中的子类不能访问。
static:修饰变量,称为类变量或静态变量。静态变量是和类存在一起的,每个实例共享这个静态变量,在类加载时初始化。
final:被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取不能更改。修饰类是不能派生出子类,修饰方法时,不能被当前子类的方法覆盖。
abstract:不能创建abstract 类的实例。一般被继承,实现抽象方法。类只要有一个abstract方法,类就必须定义为abstract,但abstract类不一定非要保护abstract方法不可。
如果对你有帮助请采纳,谢谢!