『壹』 java 访问控制修饰符

这张图是从老师课件中截取,简单易懂,希望对你有帮助

『贰』 Java中类有哪些访问控制修饰符,并指出它们的访问控制作用范围

public 用于所有类
private 只能本类调用
protected 在同一包中有继承关系的父子类可调用
friendly 基本用得不多,和private使用差不多

『叁』 Java中的四种访问控制域是什么

private,public,protected,默认不写(firendly)

1、Class类的访问权限:
public:可以供所有的类访问。
默认:默认可以称为friendly但是,java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++。默认的访问权限是包级访问权限。
即如果写了一个类没有写访问权限修饰符,那么就是默认的访问权限,同一个包下的类都可以访问到,即使可以实例化该类
(当然如果这个类不具有实例化的能力除外,比如该类没有提供public的构造函数)。

说明:
1、每个编译单元(类文件)都仅能有一个public class
2、public class的名称(包含大小写)必须和其类文件同名。
3、一个类文件(*.java)中可以不存在public class。
这种形式的存在的场景:如果我们在某个包内撰写一个class,仅仅是为了配合同包内的其他类工作,而且
我们不想再为了撰写说明文档给客户(不一定是现实意义的客户,可能是调用这个类的类)看而伤脑筋,而且有可能过一段时间之后
有可能会彻底改变原有的做法,并完全舍弃旧版本,以全新的版本代替。
4、class不可以是private和protected。
5、如果不希望那个任何产生某个class的对象,可以将该类得所有构造函数设置成private。但是即使这样也可以生成该类的对象,就是class的static的成员(属性和方法)可以办到。

2、类成员变量的访问权限:
public:紧接public的属性任何类都可以访问到。可以直接使用ClassName.propertyName。但是从类的封装性上来考虑将一个类的属性定义成public一般很少使用,
在定义静态常量的时候通畅会这样定义。如:public static final int PAGE_SIZE=10;
private:只有类本身内部的方法可以访问类的private属性,当然内部类也可以访问其外部类的private成员的。(属性和方法)
默认(friendly):包级可见,同一个包内的类可以访问到这个属性,可以直接使用className.propertyName来访问,但是从类的封装性特性来说很少这样使用类的属性的。
protected:关键字所处理的是所谓“继承”的观念。对于同一包的其他类,protected=默认,对于不同包的类,如果存在继承关系,而baseClass存在protected属性,则可以被其自继承,而不同包的其他类
则不能访问类的protected属性。

3、类的成员方法的访问权限:
其从语法角度来讲,这些访问权限控制符作用于类的方法和作用于类的属性上的效果是一样的。
public:所有类可见。
pirvate:只有同一类内部的方法可见,在有就是内部类也可以访问到。
默认(friendly):包内可见。
protected:继承可见。

4、访问权限存在的理由
1、“让使用者无法碰触到他们不该碰触的东西。”这些东西仅供类的内部机制使用。将某些成员声明成private,对于使用者来说可以说是一种服务,
因为这样使用者可以知道哪些是他关注的哪些是不重要的,不需要关注,如此历来对于使用来说降低了对使用对象认识的难度。
2、(最终要的理由)让程序设计者可以更动class内部运作方式,而无须担心波及到客户端程序。

5、java的“访问权限修饰符”赋予classes开发者极具有价值的控制能力。身为classes开发者,如果你的任何改变可以完全不干扰你的使用者,
你便可以安心改变你的底层实现,因为客户端程序员无法访问class的这一部分。
通过今天学习访问权限的问题了解到,接口或者抽象等等策略所谓的“实现隐藏”其根本原因并不是说为了隐藏实现的代码和思路,而是降低使用者的使用难度,以及从维护角度来说可见范围的控制给程序维护带来了极大的安全性。

『肆』 JAVA中什么叫访问控制

访问修饰共有四种。
1、private 此修饰符修饰的方法或变量只有在本类中可以访专问

2、protected 此修饰属符修饰的方法或变量只有在本类同包类及子类中可以访问
3、public 此修饰符修饰的方法或变量在所有类中可以访问
4、默认 此修饰符修饰的方法或变量在同包类中可以访问

『伍』 Java的访问控制权限有哪几种试以类格式形式列出Java的访问控制。

访问权限的等级最大到最小依次是:public,protected,包访问权限(无关键字)和private。

成员的访问权限取得对某成员(属性和方法)的实现方法有下面四种情况

1, 权限设置为public; 2, 默认包访问权限,在同一包中的其他类,可以访问; 3, 权限设置为public或者protected,通过继承的子类可以访问; 4, 设置为private,提供访问器和变异器方法(get/set);

下面介绍这四种权限(相对成员而言)

1, 包访问权限,在同一包中的类可以访问; 2, Public:接口访问权限,任何类都可以访问; 3, Private:你无法访问,除了包含该成员的类,其他类都可以访问。 4, Protected:继承访问权限,包括包访问权限。在同一包中,还有就是子类可以访问。

类的访问权限类的访问

只有两种:包访问权限或public(用法同上) 如果不希望其他类拥有该类的访问权限,可以把这个来说有的构造器制定为private(比如单列模式)。

『陆』 java 访问控制

Class A{
private C attr1;
public A(){
attr1=new C();
}
public Attr(B b){
b.attr2=attr1;
}
}
Class B{
public C attr2;
}
Class C{
}
建立AB两个类的实例以后调用A的Attr,这样A的attr1和B的attr2就是同一个C类对象的引用,即修改B中的回attr2会对A中的attr1有影响。同时attr1是private 而attr2却是答public 的

『柒』 java中类的访问控制权有几种

//private 只能够是当前类,才能访问。

//默认(没有写访问修饰符) 只能是同版一个包中能访问。

//protected(保护)同权一个包可以访问或者子类也可以访问。

//public 任何地方都可以访问。

『捌』 java中的访问控制有什么用

9.访问控制 访问控制有什么用?

软件公司里是这么用的,我们想像一种场景,在你的类中,你编了三个私有方法,马克-to-win,别人当然都用不了,但在类外,你也是用不了的,你必须,
在类里再编一个公共方法,别人就能随便用了!但是如果你的公共方法调用那三个私有方法的顺序是132的话,全世界人民只能调用那个公共方法,按照132的
顺序,来使用那三个私有方法,他想按照123的顺序来调用那三个私有方法,都没办法。因为这个类的发布权在你手里,全世界人民只会到你的网站去下载。如果
大家有需求建议说你把顺序改成321,他们得经过你的同意,把这顺序为321的公共方法,重新加入你的类中,重新在你自己的网站打包发布,所以保护了你的
知识产权马克-to-win。
类和他的成员如何被访问以及在什么范围内能被访问,取决于它声明的访问指示符(access specifier)。
Java的访问指示符分类1.public(公共的,全局的)2.private(私有的,局部的)3.protected(受保护的)4.默认访问级别。
public:当一个类成员被public指示符修饰时,该成员可以被你的程序中的任何其他代码访问。
private :当一个类成员被指定为private时,该成员只能被它的类中的其他成员访问。
main( )总是被public指示符修饰。它被在程序外面的代码调用,也就是由Java运行系统调用。
默认访问级别:如果不使用访问指示符,该类成员的默认访问设置为在它自己的包内为public,但是在它的包以外不能被存取。
本章源码
class Test3 {
int a; // default access访问
public int b; // public access
private int c; // private access
// methods to access c
void setc(int i) { // set c's value
c = i;
}
int getc() { // get c's value
return c;
}
}

public class Test {
public static void main(String args[]) {
Test3 ob = new Test3();
。。。。。。。。。。。。。。。。详情网上找“马克-to-win”,参考他的网站或他的网络空间:java第2章的内容

『玖』 java访问控制问题

问题较乱。 我给你答一下, 有不懂的话,你可以继续追问。

访问一个类。 就是使用一个类中的属性,方法等等。

比如。 假使有Student 这个类
Student student = new Student(); //创建一个类实例。
student.name ; //访问 一个类中的变量
studnet.learn(); //访问类中的方法。

限制类的访问权限的意思是。 有一些方法是我不想给 别人调用。只是为了服务我类中的方法用的。

比如:
public class Student{
private void think(){} //思考 //该方法只能在类里面才能访问
public void learn(){ //公共的方法,可以在类外部调用访问
think(); // 我可以调用本类中定义的私有方法
}
}

//假定这是 main方法
Student student = new Student(); //创建一个类实例。

student.learn(); //访问类中的公共方法。

//student.think(); 这个方法不能调用, 调用会报错,因为这个方法不能在 Student类以外调用

『拾』 JAVA的访问控制

系统默认是 friendly
也就是说你什么都不写就可以达到你要的效果

Java中的访问权限控制符有四个内.
作用域_____当前容类____同一package___子孙类____其他package
public______√___________√__________√___________√
protected___√___________√__________√___________×
friendly_____√___________√__________×___________×
private_____√___________×__________×___________×