Java访问修饰符总结

原创 2015年11月20日 21:50:50

Java访问修饰符总结

今天我分享一下我学习访问控制符的心得。
实现封装,需要使用访问修饰符。
我通过访问控制级别的从小到大的顺序一一说说我对访问修饰符的理解。

总:修饰符有private  protected  public

一:private代表的访问控制级别(修饰符为private)。

通过private修饰符修饰的成员变量,方法,构造器只能在当前类的内部被访问,private修饰对象的状态信息能很好的实现封装。下面通过代码来演示private访问控制修饰符。
代码演示:
<pre name="code" class="java">class TestOne {
	// 定义一个private修饰的实例变量
	private int a;
}

public class Test {
	public static void main(String args[]) {
		TestOne test = new TestOne();
		/*
		 * 在Tset类中通过通过实例test访问TestOne类中被private修饰的实例变量a时,将出现编译错误
		 */
		test.a = 10;
	}
}




二:default代表的访问控制级别。(无修饰符)
此级别没有访问控制符,当成员变量,方法,构造器前没有任何访问修饰符时,默认就是default访问控制级别,该访问控制级别控制的成员,只能被同一个包下的其他类访问。
代码演示:
代码演示:
1:
<pre name="code" class="java">package test;
public class Test {
	// 定义一个default访问控制级别的实例变量
	int a = 10;
}

package test;

public class TestThree {
	public static void main(String args[]) {
		Test test = new Test();
		// default访问控制级别的实例变量在同一个包下的他类中被访问
		System.out.println(test.a);
	}
}




2:
<pre name="code" class="java">package test;

public class Test {
	// 定义一个default访问控制级别的实例变量
	int a = 10;
}


package testone;
import test.Test;
public class TestTwo {
	public static void main(String args[]) {
		Test test = new Test();
		// default访问控制级别的实例变量在不同包下的他类中不可以被访问,将出现编译错误
		System.out.println(test.a);
	}
}



三:protected代表的访问控制级别(修饰符为protected)

protected修饰符修饰的成员变量,方法,构造器。可以被同一个包下的其他类访问,也可以被不同包下的子类访问。
代码演示:
1:被同一个包下的其他类访问
</pre><pre name="code" class="java">package test;
public class Test {
	// 定义一个protected访问控制修饰符修饰的实例变量
	protected int a = 10;
}

package test;
public class TestThree {
	public static void main(String args[]) {
		Test test = new Test();
		// protected访问控制修饰符修饰的实例变量可以被同一个包下的他类中被访问
		System.out.println(test.a);
	}
}



2:被其他包下的子类访问
<pre name="code" class="java">package test;
public class Test {
	// 定义一个protected访问控制修饰符修饰的实例变量
	protected int a = 10;
}

package testone;
import test.Test;
public class TestTwo extends Test {
	public static void main(String args[]) {
		TestTwo test = new TestTwo();
		// protected访问控制修饰符修饰的实例变量在不同包下的子类中可以被访问
		System.out.println(test.a);
	}
}





四:public代表的访问控制级别(修饰符为public)

public修饰的成员变量,方法,构造器,可以被任何包下的任何类所访问。


修饰外部类只可以使用public或默认访问控制,因为priavte和protected修饰的实在类的内部和子类中被访问,外部类不在任何类的内部。






版权声明:本文为博主原创文章,未经博主允许不得转载。

Java非访问修饰符

Java非访问修饰符           为了实现一些其他的功能,Java 也提供了许多非访问修饰符。           Static:修饰符,用来创建类方法和类变量。           Fi...
  • nangeali
  • nangeali
  • 2017年02月05日 22:04
  • 341

java中的4种访问修饰符

java中的4种访问修饰符:public、private、protected、default
  • zhangbinu
  • zhangbinu
  • 2016年12月19日 10:55
  • 455

Java 四种访问修饰符区别

在Java编程语言中有四种权限访问控制符,这四种访问权限的控制符能够控制类中成员的可见性。 一、public (1)定义:public是公共的,被public所修饰的成员可以在任何类...
  • weixin_36024609
  • weixin_36024609
  • 2017年03月02日 20:23
  • 3121

Java和C#默认访问修饰符

C#中: 针对下面几种类型内部成员的访问修饰符: enum的默认访问修饰符:public。 class的默认为private。 interface默认为public。 struct默认为pr...
  • CsethCRM
  • CsethCRM
  • 2011年11月17日 16:04
  • 3880

java中4种访问修饰符的区别

java中有4中访问修饰符;(1)private(2)public(3) protected(4) friendly. (1)private :被private修饰的变量和方法,只能在本类中使用。在...
  • xioawangba
  • xioawangba
  • 2016年02月16日 15:01
  • 1973

Java中的访问修饰符和修饰符

访问修饰符有四种: public,protected,default,private                               包外       子类        包内      ...
  • shymi1991
  • shymi1991
  • 2015年08月05日 16:28
  • 812

Java的访问修饰符的作用范围

访问修饰符:private 缺省 protectedpublic作用范围
  • y_guan
  • y_guan
  • 2017年03月04日 11:19
  • 2194

Java 中4种访问修饰符 public/protected/default(friendly)/private

(1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。 (2)对于protect...
  • mingjie1212
  • mingjie1212
  • 2016年01月18日 21:10
  • 1301

简述Java的访问修饰符类型?分别有什么功能?

public 公开的,任何一个类都有可以访问  protected 同包同类,只可被它的子类访问    default 只能被同一个包中类访问    private 私有的,只能在本...
  • qq_38173343
  • qq_38173343
  • 2017年06月02日 15:09
  • 671

Java语言中有4种访问修饰符

原文:http://wuhaidong.iteye.com/blog/851754 Java语言中有4种访问修饰符 在Java语言中有4中访问修饰符:package(默认)、private、pub...
  • gongda2014306
  • gongda2014306
  • 2016年08月02日 15:54
  • 1018
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java访问修饰符总结
举报原因:
原因补充:

(最多只允许输入30个字)