码迷,mamicode.com
首页 > 其他好文 > 详细

权限修饰符

时间:2016-03-03 19:35:35      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:java   修饰符   


权限修饰符


本类同一包下的类不同包下子类不同包下无关类
privateY


默认的YY

protectedYYY
publicYYYY

一.本类中可以直接访问的验证

package a1.a2.a3;

class Father{
    private void show(){                 
        System.out.println("show");
    }
    void show2(){
        System.out.println("show2");
    }
    protected void show3(){
        System.out.println("show3");
    }
    public void show4(){
        System.out.println("show4");
    }
    
    public static void main(String[] args){
        Father f =new Father();
        f.show();
        f.show2();
        f.show3();
        f.show4();
    }
}

二.同一包下的类验证

1.//同一包下子类访问父类
package a1.a2.a3;

class Son  extends Father{
    public static void main(String[] args){
        Father f =new Father();
        //f.show();            //编译时直接报错        
        f.show2();
        f.show3();
        f.show4();
        System.out.println("------------");
        Son s =new Son();
        //s.show();            //编译时直接报错
        s.show2();
        s.show3();
        s.show4();
    }
}

2.//同一包下无关类访问
package a1.a2.a3;
class Test{
    public static void main(String[] args){
        Father f =new Father();
        //f.show();           //编译直接报错
        f.show2();
        f.show3();
        f.show4();
    }
}

三.不同包下的类验证

1.//不同包下子类访问父类

package b1.b2.b3;
import a1.a2.a3.Father;

class Son2  extends Father{
    public static void main(String[] args){
        Father f =new Father();
        //f.show();            //编译时直接报错        
        //f.show2();           //编译时直接报错
        //f.show3();           //编译时直接报错
        f.show4();
        
        System.out.println("------------");
        
        //son2可以访问protects
        Son2 s =new Son2();
        //s.show();            //编译时直接报错
        //s.show2();           //编译时直接报错
        s.show3();
        s.show4();
    }
}


2.//不同包下无关类访问
package b1.b2.b3;
import a1.a2.a3.Father;

class Test2{
    public static void main(String[] args){
        Father f =new Father();
        //f.show();             //编译时直接报错
        //f.show2();            //编译时直接报错
        //f.show3();            //编译时直接报错
        f.show4();
    }
}


总结目前学到的修饰符

  1. 权限修饰符:private.默认的.protected.public

  2. 状态修饰符:static.final

  3. 抽象修饰符:abstract

类:

权限修饰符:默认修饰符.public
状态修饰符:final //不允许使用stitac
抽象修饰符:abstract

成员变量:

权限修饰符:private.默认的.protected.public
状态修饰符:static.final

public class Demo{
    private int x = 20;
    int y = 20;
    protected int z = 40;
    public int a = 40 ;
    public final int b =50 ;
    public static int c =60;
    public static final int d = 70 ;
}

构造方法:

权限修饰符:private.默认的.protected.public

public class Demo{   
    private Demo(){}   
    Demo(String name){}    
    protected Demo(String name ,int age){}  
    public Demo(Stringname,int age ,String address){}     
    //此处不允许使用静态,final,abstract    
    //public static Demo(){}   
    //public final Demo(){}    
    //public abstract Demo(){}
}

成员方法:

权限修饰符:private.默认的.protected.public
状态修饰符:static.final
抽象修饰符:abstract

常见组合规则:

成员变量:public static final

成员方法:public static ; publis abstrect ;public final


权限修饰符

标签:java   修饰符   

原文地址:http://3453311.blog.51cto.com/3443311/1747288

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!