- 浏览: 176477 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (159)
- java常用 (28)
- Spring Security (0)
- tomcat (2)
- orcale (4)
- rmi (6)
- jvm (5)
- html (0)
- hibernate (0)
- javascript (5)
- log4j (5)
- struts (5)
- jdbc (0)
- jquery (0)
- json (0)
- jstl (0)
- jboss (0)
- JCaptcha (0)
- jpa (0)
- oscache (0)
- 项目管理 (8)
- ExtJs (10)
- 设计模式 (3)
- jsp (3)
- 错误归档 (1)
- maven (5)
- java多线程 (10)
- quartz (4)
- spring (9)
- memcache (3)
- java笔试面试 (3)
- xml (3)
- hadoop (5)
- velocity (2)
- jetty (3)
- http (1)
- linux (2)
- hbase (2)
- mysql (12)
- mybatis (8)
- web安全 (1)
- hive (2)
- 其他 (1)
最新评论
public,protected,private是Java里用来定义成员的访问权限的,另外还有一种是“default”,也就是在成员前不加任何权限修饰符。如:
public class A{
void method(){};
}
method就属于default权限。
这四个修饰符的访问权限如下表:
-----------------------------------------------
类内部 package内 子类 其他
public 允许 允许 允许 允许
protected 允许 允许 允许 不允许
default 允许 允许 不允许 不允许
private 允许 不允许 不允许 不允许
-----------------------------------------------
比如:用protected修饰的成员(变量或方法),在类内部可以调用,同一个package下的其他类也可以调用,子类里也可以调用,其他地方则不可以调用
////////////////////////////////////错误例子
package java1;
public class TestBase
{
protected void printProtected()
{
System.out.println("printProtected!");
}
}
import java1.TestBase;
class Child extends TestBase
{
protected void printProtected()
{
System.out.println("child printProtected!");
}
public static void main(String[] args)
{
TestBase base= new Child();
base.printProtected(); //编译报错
}
}
Java代码
1 TestBase base= new Child();
2 base.printProtected(); //编译报错
这个会出错,是因为你在不同包里访问TestBase声明的printProtected方法,所以不行,你可以在你子类的printProtected通过super来访问父类的方法。
可以这样解释吧,子类可以继承父类的protected方法,并且在子类内部是可以访问的(就是在子类里调用this.printProtected(),或者super.printProtected())。但是这个方法对于子类来说也是protected的。
protected的含义就是本类可以访问,同一包内的可以访问,子类可以访问。
<!--EndFragment-->
发表评论
-
Java性能优化技巧
2013-03-30 11:19 742Java性能优化技巧 在JAVA程序中,性能问题的大部分原 ... -
java内部类的作用
2013-03-30 11:06 765java内部类的作用一、 ... -
StringTokenizer 用法
2013-03-25 09:29 1285StringTokenizer是一个用来分隔String的应 ... -
Java日志框架
2013-03-17 17:17 931Java日志框架 Log4j Ap ... -
java nio Buffer 中 compact的作用
2013-03-12 17:29 1733java nio Buffer 中 compact的作用 ... -
java annotation 入门
2013-03-11 11:23 768一. 最常见的annotation@Override:用在方法 ... -
Java中assert关键字的实现
2013-03-08 17:12 1079Java中assert关键字的实现 J2SE 1.4 ... -
java正则表达式
2013-03-07 08:42 694众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判 ... -
java对cookie的操作
2013-03-10 10:31 868java对cookie的操作 java对cookie的操 ... -
eclipse中的.project 和 .classpath文件的具体作用
2013-02-27 16:38 700eclipse中的.project 和 .cla ... -
Java中Split函数的用法技巧
2013-02-25 13:48 1595Java中Split函数的用法 ... -
如何把安全证书导入到java中的cacerts证书库
2013-02-21 11:21 1998如何把安全证书导入到java中的cacerts证书库 在项 ... -
java Comparable Comparator 接口
2013-02-19 15:58 7891.什么是Comparable接口 此接口强行对实现它的每 ... -
java环境变量配置
2012-08-28 21:51 720java环境变量配置 windows xp下配置JDK环 ... -
Java应用程序添加退出事件响应
2012-08-22 20:37 1191一个完整的Java应用程序,通常至少要有一个应用程序的结束点。 ... -
java 读取 doc poi读取word中的表.txt
2012-08-22 20:34 1745import java.io.File; import j ... -
java压缩和解压缩例子
2012-08-21 21:26 1084java压缩和解压缩例子 压缩时,在压缩文件夹中新建目录,en ... -
Java反射,根据类名创建带参数的实例
2012-08-21 21:26 2223public Object dynCreateClassIns ... -
java异常时如何执行
2012-08-21 21:26 686代码如下: public class Test{ publi ... -
java 读写txt文件
2012-08-21 21:27 898java 读写txt文件 读取 ...
相关推荐
本文将深入探讨Java(以及其他面向对象语言)中的`public`、`protected`和`private`这三个访问修饰符,以及它们在派生类中的应用。 1. **公共访问修饰符(public)** - `public`是最宽松的访问级别,表示任何地方...
一个C++类中的变量如果如下关键字作为修饰符. 1. public: 程序的任何...下面在看下c++ public private protected关键字 1、当在类的内部使用这三个关键字,表示访问权限: public: 可以被任意访问。 protected:
在JavaScript中,public、private和static这些概念并非原生关键字,但可以通过特定的编码模式来实现类似的功能。在C#等静态类型语言中,public、private和static是访问修饰符,用于控制类成员的可见性和作用域。而在...
Java 访问修饰符(public、protected、默认、private) Java 中的访问修饰符是 Java 语言中一种基本概念,用于控制类、方法、变量、构造方法等成员的访问权限。 Java 中有四种访问修饰符:public、protected、默认...
### Delphi中的Public,Private,Protected,Published作用域详解 #### 一、引言 在面向对象编程中,封装是核心概念之一,它通过限制对类内部数据的直接访问来提高代码的安全性和可维护性。Delphi作为一种强大的...
### Delphi中的访问控制修饰符:private,public,protected 在面向对象编程中,封装是保护数据完整性和安全性的核心原则之一。通过控制类成员(属性和方法)的可见性,我们可以有效地管理类的内部状态,并确保外部...
这四个作用域的可见范围如下表所示。 说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ ...private √ × × ×
在C++中,有三种访问控制修饰符:public、private 和 protected。 1. **Public** 访问控制: 公共成员(public members)可以被类的任何对象、类的成员函数以及类的外部代码自由地访问。在上述代码示例中,`disp` ...
本文将深入探讨`private`、`public`、`default`(默认)和`protected`这四种访问权限,并通过代码示例来解析它们在实际编程中的应用。 1. `private`权限: `private`是最低级别的访问权限,它限制了成员只能在同一...
C++ 类访问控制机制是面向对象编程中的核心概念,它主要涉及到`public`、`private`和`protected`这三个访问修饰符。它们的作用是限制类的成员(数据成员和成员函数)在不同作用域内的可访问性,从而实现数据封装和...
这些修饰符包括`public`、`private`、`protected`以及`final`和`abstract`等。下面将详细解释这些关键字的意义及其在面向对象设计中的作用。 ### 1. `public` `public`是最开放的访问修饰符,意味着无论在哪一个类...
C++是一种面向对象的编程语言,它提供了三种不同的继承方式:public、protected和private,每种方式对基类成员在子类中的访问权限有不同的影响。理解这些继承方式及其组合结果对于编写可维护和安全的代码至关重要。 ...
Java中,我们有四种主要的访问修饰符:`private`,`public`,`protected`,以及默认(无修饰符)。这些修饰符帮助我们实现封装,这是面向对象编程的三大特性之一。下面我们将详细探讨这四种访问修饰符的区别: 1. *...
C++封装(class,struct,public,protected,private,friend)的博客例程。 https://blog.csdn.net/flysnow010/article/details/136907034
重点关注private与protected public 默认即为public,全局都可以访问,这个不解释 private C++, “private” 意为 “private to this class”, 但是Ruby中意为 “private to this instance”. 意思是:C++中,对于类...
值得注意的是,在类定义中,属性和方法可以使用public、private或protected关键字来限定其访问级别。如果没有明确指定属性或方法的访问级别,则其默认为public。这意味着,它们可以被类的外部代码访问和调用。 此外...
权限-public-private-protected-default”深入讲解了Java中的四种主要访问权限:public、private、protected以及默认(无修饰符)。这四个修饰符对于理解和编写高质量的Java代码至关重要。 1. **public**:公共访问...