zoukankan      html  css  js  c++  java
  • Java基础(十二)之包和权限访问

    软件包

    软件包解决了两个类名字一样的问题。软件包就是一个"文件夹"。

    包名的命名规范:
    1、要求所有字母都小写;
    2、包名一般情况下,是你的域名倒过来写。比如baidu.com,package com.baidu;

    编写Test.java:

    package mings; //将类防止到一个包当中
    
    public class Test{
    	public static void main(String[] args){
    		System.out.println("Hello,package!");
    	}
    }
    

      

    编译包命令,点代表当前目录:

    javac -d . Test.java
    

      

    编译后会自动生成mings文件夹:

     java当中的访问权限

    • public 公共权限 修饰类、成员函数、成员变量。修饰类的话,文件名和类名必须一致。 作用在于两个类在不同包中,但是想要调用的另一个类或者类的构造函数、成员变量的话,加上public后可以任意调用。
    • private 私有权限 修饰成员变量、成员函数; 就算在同一个包中,也只能在当前类中调用变量和函数。
    • default 包级别访问权限(默认) 修饰类、成员函数、成员变量。如果在同一个包中,可以任意调用。
    • protected 受保护权限。修饰成员函数、成员变量。拥有default相同的权限。特殊:跨包继承。

    public > protected > default > private 

    下面就是一个public权限的代码。

    Person.java:

    package com.mings;
    
    public class Person{
    	public String name;
    	public int age;
    	public void introduce(){
    		System.out.println(name);
    	}
    	
    }
    

      

    Test.java:

    package com.cn.mings;
    
    class Test{
    	public static void main(String[] args){
    		com.mings.Person p = new com.mings.Person;
    		
    		
    	}
    }
    

      

    编译没有问题。但是存在一个问题就是com.mings.Person太长了。

    因此可以使用导入包的方式,简化代码。

    import 类名
    

      

    修改Test.java:

    package com.cn.mings;
    import com.mings.Person;
    
    class Test{
    	public static void main(String[] args){
    		Person p = new Person();
    		p.name = "liming";
    		p.introduce();
    		
    		
    	}
    }
    

      

    运行后的结果:

    D:Javacode练习九>java com.cn.mings.Test
    liming
    

      

  • 相关阅读:
    索引唯一性扫描(INDEX UNIQUE SCAN)
    索引范围扫描(INDEX RANGE SCAN)
    算法设计与分析——回溯法算法模板
    操作系统考试复习大纲
    windows cmd 生成文件目录树
    Java 匿名类和lambda表达式
    下载Abook 高等教育出版社网站资料
    操作系统——银行家算法(Banker's Algorithm)
    算法设计与分析——最大团问题(回溯法)
    JVM内存区域
  • 原文地址:https://www.cnblogs.com/endust/p/11826348.html
Copyright © 2011-2022 走看看