- 浏览: 387676 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (213)
- 面试题目 (9)
- 设计模式 (7)
- Core Java (28)
- 杂记 (10)
- 代码模板 (6)
- 数据库 (6)
- oracle plsql (2)
- strut2 study note (1)
- Oracle Database 10g SQL开发指南学习笔记 (7)
- Unix.Shell编程(第三版) 学习笔记 (1)
- Servlet (1)
- Hibernate (1)
- 敏捷开发 (1)
- Linux (13)
- Velocity (1)
- webx (1)
- Svn (2)
- 页面html,css (2)
- English (4)
- Astah usage (1)
- UML与设计思考 (2)
- JavaScript (3)
- 读书 (4)
- 好的网址 (1)
- 网址 (0)
- JMS (1)
- 持续集成环境 (1)
- 生活 (1)
- Spring (3)
- Tomcat Server (1)
- MySQL (2)
- 算法与数据结构 (6)
- Oracle数据库 (1)
- 分布式计算 (1)
- Maven (1)
- XML (2)
- Perl (2)
- 游戏 (1)
最新评论
-
chen_yi_ping:
请问楼主,怎么测试?String filePath = arg ...
使用多线程模拟多用户并发访问一个或多个tomcat,测试性能 -
adam_zs:
好,谢谢分享。
ArrayDeque实现Stack的功能 -
zjfgf:
int.class==Integer.class 返回fals ...
Class study -
kimmking:
xslt太难写的。
在java中调用xls格式化xml
首先阅读:http://download.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
然后关键要注意的:
针对类都是public的,属性和方法为protected类型,访问权限示例:
protected访问权限示例:
package test;
public class Test {
protected int i=4;
protected void function(){
System.out.println("from test");
}
}
两种情况
a.在不同的包里,可以在继承自Test类的方法里访问Test类的protected变量和方法。而其他的类实例则不能访问Test类里的
protected变量和方法,包括其自身的实例。
考虑类之间的关系要考虑声明的类与想要访问的类之间的关系,而不是声明的实例所属类与要访问的类之间的关系。
例如考虑Test2与Test之间的关系,而不是考虑Test test = new Test();Test与Test本身的关系。(可以认为跨包访问,
除了子类的实例可以访问,其他类的实例包括其自身都视为这个protected变量和方法为private类型的变量或方法了)
package test2;
import test.Test;
public class Test2 extends Test{
public void test2Function(){
i=6;
function();
}
public static void main(String[] params){
Test2 test2=new Test2();
System.out.println(test2.i);
test2.function();
Test test = new Test();
System.out.println(test.i);//compile error
test.function();//compile error
}
}
b.在同一个包里,不需要继承,可以用Test类实例的方式访问Test类的protected变量和方法(或test子类实例的方式)。
package test;
import test2.Test2;
public class Test3 {
public void test3Funciton(){
Test t=new Test();
System.out.println(t.i);
t.function();
}
public static void main(String[] params){
Test t=new Test();
System.out.println(t.i);
t.function();
Test2 test2=new Test2();
System.out.println(test2.i);
test2.function();
}
}
然后关键要注意的:
针对类都是public的,属性和方法为protected类型,访问权限示例:
protected访问权限示例:
package test;
public class Test {
protected int i=4;
protected void function(){
System.out.println("from test");
}
}
两种情况
a.在不同的包里,可以在继承自Test类的方法里访问Test类的protected变量和方法。而其他的类实例则不能访问Test类里的
protected变量和方法,包括其自身的实例。
考虑类之间的关系要考虑声明的类与想要访问的类之间的关系,而不是声明的实例所属类与要访问的类之间的关系。
例如考虑Test2与Test之间的关系,而不是考虑Test test = new Test();Test与Test本身的关系。(可以认为跨包访问,
除了子类的实例可以访问,其他类的实例包括其自身都视为这个protected变量和方法为private类型的变量或方法了)
package test2;
import test.Test;
public class Test2 extends Test{
public void test2Function(){
i=6;
function();
}
public static void main(String[] params){
Test2 test2=new Test2();
System.out.println(test2.i);
test2.function();
Test test = new Test();
System.out.println(test.i);//compile error
test.function();//compile error
}
}
b.在同一个包里,不需要继承,可以用Test类实例的方式访问Test类的protected变量和方法(或test子类实例的方式)。
package test;
import test2.Test2;
public class Test3 {
public void test3Funciton(){
Test t=new Test();
System.out.println(t.i);
t.function();
}
public static void main(String[] params){
Test t=new Test();
System.out.println(t.i);
t.function();
Test2 test2=new Test2();
System.out.println(test2.i);
test2.function();
}
}
发表评论
-
Log4j常用配置
2011-08-29 22:03 1681log4j.rootLogger=INFO, normal ... -
ArrayDeque实现Stack的功能
2011-08-17 15:58 7642在J2SE6引入了ArrayDeque类 ... -
Java的clone()方法,浅复制与深复制
2011-08-15 15:06 1405要想实现克隆,需要实 ... -
LinkedList源码分析
2011-08-10 15:18 1076http://blog.csdn.net/zhouyong0/ ... -
Java nio(文件读写 实例解析)
2011-08-09 18:07 4690http://blog.csdn.net/biexf/arti ... -
深入探讨 Java 类加载器
2011-08-08 15:23 777http://www.ibm.com/developerwor ... -
Java.nio 与Java.io的比较
2011-08-05 18:00 1496http://blogs.oracle.com/slc/ent ... -
java缓冲读写
2011-08-05 15:54 1105public static void main(String[ ... -
java多线程写入同一文件
2011-08-05 15:40 10040转自 :http://www.update8.com/Prog ... -
java线程及ComcurrentHashMap
2011-08-04 13:55 991http://blog.csdn.net/dimly113/a ... -
HashMap源码分析
2011-08-04 13:51 1823public class HashMap<K,V&g ... -
HashMap与HashTable的区别、HashMap与HashSet的关系
2011-08-04 10:44 3432转自http://blog.csdn.net/wl_ldy/a ... -
JVM内存模型及垃圾收集策略解析
2011-07-18 23:16 1325http://blog.csdn.net/dimly113/a ... -
Java关键字final、static使用总结
2011-06-03 12:47 9http://java.chinaitlab.com/base ... -
Java关键字final、static使用总结
2011-06-03 12:47 8一、final 根据程序上下文环境,Java关键字fina ... -
Java关键字final、static使用总结
2011-06-03 12:46 5一、final 根据程序上下文环境,Java关键字fina ... -
Java关键字final、static使用总结
2011-06-02 16:20 0转自:http://java.chinaitlab.com/b ... -
Java关键字final、static使用总结
2011-06-02 16:20 820转自:http://java.chinaitlab.com/b ... -
Java关键字final、static使用总结
2011-06-02 16:19 2转自:http://java.chinaitlab.com/b ... -
ddfccf
2011-05-11 09:42 0sdfds
相关推荐
- `public`是最宽松的访问级别,表示任何地方的任何代码都可以访问该成员。当一个类的方法或字段被声明为`public`时,它可以在类的外部被调用,这使得其他类可以自由地使用这些成员。 2. **保护访问修饰符...
这包括`private`、`public`和`protected`,它们分别代表不同的访问级别,对类的封装性有着重要影响。理解这些修饰符的区别对于编写可维护和安全的代码至关重要。 1. **public**: - 定义:`public`关键字表示类的...
其中 `access_specifier` 可以是 `public`、`protected` 或 `private`,它们分别决定了基类成员在派生类中的访问级别。 - **私有继承(private)**:基类中的 `public` 和 `protected` 成员在派生类中变为 `private`...
`protected`主要用于控制继承类之间的访问,而`static`则涉及类级别的共享和独立于实例的属性。理解这两个关键字的用法对于编写健壮、可维护的Java代码至关重要。在实际编程中,正确使用它们可以帮助我们设计出更...
- **protected**:受保护的访问级别,表示被修饰的成员可以在同一包内或者不同包中的子类中被访问。 - **default**(包私有/包默认):无显式修饰符,默认为包访问级别,表示被修饰的成员只能在同一个包内被访问。 -...
`protected`修饰符是Java中用于控制成员变量和方法访问级别的一个重要工具。当一个成员被声明为`protected`时,它可以在以下几种情况下被访问: 1. **同一类**:`protected`成员在其所在类中可见。 2. **子类**:在...
- 这种访问级别通常用于包内协作的类,但不希望暴露给外部代码。 在实际编程中,一个常见的实践是将成员变量设为私有(private),然后通过公共方法(getter和setter)来读取和修改这些变量,这称为封装。方法通常...
在本套"VC++ 视频详解32~35"教程中,主要涵盖了四个关键主题,分别是:三种继承方式下的访问控制、虚函数的概念、友元类与继承访问级别,以及抽像类的深入理解。这些内容是C++编程中的核心概念,尤其对于使用Visual ...
Java类与对象详解是Java编程语言的基础知识,本节将详细介绍Java类和对象的定义、实例化、成员变量、构造方法、访问修饰符、继承等知识点。 一、Java类的定义和实例化 在Java中,类是创建对象的模板,类必须先...
- **定义**:`public` 是 Java 中最开放的访问级别,表示该成员可以被任何地方访问。 - **示例**: ```java public class MyClass { public int myPublicVariable; public void myPublicMethod() { // 方法体 ...
当子类重载父类的方法时,子类中方法的访问级别不应低于父类方法的访问级别。例如,如果父类中的方法为`public`,则子类中的重载方法也必须为`public`。 #### 变量成员的访问控制 为了保证数据的一致性和安全性,...
如果没有明确指定访问级别,则默认为 default,这意味着只能被同一包中的类访问。 - **private**:表示私有访问。被声明为 private 的成员只能被所在类访问,不能被其他类访问。 #### 2. 其他类修饰词 - **...
这是默认的类成员访问级别,用于封装实现细节。 ```csharp internal class MyClass { internal int InternalField; internal void InternalMethod() { } } ``` `InternalField` 和 `InternalMethod` 只能在包含 `...
- **访问控制关键字**: 如public、private、protected等,用于控制类成员的访问级别。 - **存储类别关键字**: 如auto、register、static等,用于指定变量的存储类别。 ### 二、C++程序设计方法 #### 1. 面向对象...
类成员的访问控制是通过访问权限控制来实现的,访问权限包括private、protected和public三个级别。private只允许同类的成员函数访问,protected允许同类及其派生类的成员函数访问,public允许同一作用域的任何函数...
这是一种介于`public`和`private`之间的访问级别。 4. `private`: - `private`是最严格的访问控制,表示只能在声明该成员的类内部访问。这是实现数据封装的重要手段,可以避免其他类直接修改类的内部状态,保证...
IETF(互联网工程任务组)提出的Protected EAP Protocol(PEAP)是一种增强型的认证协议,旨在解决早期EAP(Extensible Authentication Protocol,可扩展认证协议)在无线网络和远程访问环境中的安全问题。...
Java提供了五种访问权限级别,分别是public、friendly(或称为default)、private和protected。下面将详细解释这些访问权限的含义和使用场景。 1. **public**: - 成员(方法、变量):任何类在任何地方都能访问。...