java中访问权限修饰符学习笔记

public class C_constructor{
    protected static int pp = 3;
    protected int qq = 3;//能被其父类,子类及同一个包内的其他类访问
    private int rr = 3;//只能在本类中被访问,类以外任何一处都不能访问它,即使是子类,父类等也不行
    public static int ss = 3;//能被所有其他的类访问(不管是不是在同一个包中)
    int tt = 3; //不能被其他包中的类被访问,只能被同一个包中的类访问,即使被其他包里的类继承,也不能被访问
}
/*
 * 声明类及类体
 * [public][abstract|final] class 类名 [extends 父类名] [implememts 接口名列表(用逗号隔开)]
 *      //为修饰符                             继承父类,单继承     实现接口,可一个或多个,相互用逗号隔开
 * {//类体的开始
 *     //成员变量的声明
 *     [public|protected|private|缺省][static][final][transient][…] 类型名 成员变量名;
 *             访问权限
 *    
 *     //定义构造函数,可以不写,当类中没有构造函数时,类会自动创建一个不带参数的构造函数 public 类名(){}
 *     public 类名(参数列表)
 *     {……;}
 *     
 *     //成员方法的声明
 *     [public|protected|private|缺省] [static] [final|abstract] […] 返回值类型 方法名(参数列表)
 *              访问权限
 *     {……;}
 *
 * }//类体结束
 * 成员访问权限修饰符
 * public:定义为public的成员(变量或方法)可以被所有其他的类访问
 * private:定义为private的成员只能被这个类本身访问.可以通过public方法对类的private成员进行操作
 *         如用(getXXX(),setXXX()方法),这也是Java中对数据进行封装的手段之一.
 * protected:定义为protected的成员,其访问权限介于public成员和private成员的保护限制之间.只有父类,子类
 *         及同一个包中的其他类才能访问父类的protected成员.
 * 缺省:当定义成员时没有设定访问权限,则它们具有包访问权限,即可以通过对象的引用直接访问用一个包中其他类的没有
 *     访问权限修饰符的成员.
 *
 * 访问权限比较:public > protected > 缺省 > private
 * protected 减去 缺省 等于 能被其他包内被继承此类的类访问,即protected能在其他包内被继承了此类的类中被访问,而"缺省"不能
 */ 
阅读更多
上一篇java中没有virtual这个关键字
下一篇命令行Dos下编译、运行java文件是出现has value '1.4', but '1.6' is required.错误
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭