• java4android (包和访问权限)


    什么是Java当中的软件包?

    为什么要使用软件包?

    如何给一个类打包?

    //将类放置到一个包中,需要使用package“包名”
    //打包  编译的方法 javac -d . Test.java
    //出现错误:编码GBK的不可映射字符  javac -encoding UTF-8 -d . Test.java
                   //-d 根据包名safiri生成文件夹  .的意思是在当前目录下生成safiri文件夹
        //一个类的全名应该是“包名”+“.”+"类名"    safiri.Test
    //    运行: java safiri.Test
    
    //包名的命名规范:
    //1.要求报名所有的字母都要小写
    //2.包名一般情况下,是你的域名倒过来写 com.sdau 则类的全名为com.sdau.Test
    package safiri;
    class Test{
        public static void main(String args[]){
            System.out.print("Hello package");
        }
    }
    
    //1.软件包为java类提供了命名空间
    //2.打包需要使用package指令
    //3.一个类的全名应该是“包名.”+"类名"

    Java当中的访问权限:

    public :公共权限  跨包访问使用类和类的成员时要加public(没有限制,同一包中或者不同包中的类都可以自由访问)

    private:私有权限 修饰的成员变量和函数只能在本类中使用,其他类不能使用(只能在本类当中使用)

    default:包级别访问权限 在同一个包内的类可以互相访问default权限的类及其成员(不写权限修饰符就是default权限,在同一个包中,可以自由访问)

    protected:受保护权限 首先拥有和default一样的功能,但是该权限只能修饰成员变量和成员函数(其他3个还可以修饰类)想让子类能够用使用不同包当中父类的成员,用protected修饰父类的成员。

     public >protected >default >private

    软件包的导入

    跨包使用类时要写 包名+类名 ,包名比较长时会比较麻烦,所以有一个导入机制:

    import org.marsdroid.Person;

    导入后再使用这个类时,就不用写包名了,直接写类名就可以了。

    访问权限与继承

    如果子类和父类不在同一个包中,子类可以继承到父类当中的default权限的成员变量和成员函数,但是由于权限不够,无法使用。

    继承后父类的成员能不能用,还要考虑成员的权限

  • 相关阅读:
    python学习笔记(9)-python编程风格
    python学习笔记(8)-实现linux系统python命令行光标移动
    python学习笔记(7)--python版本升级
    python学习笔记(6)--三种运行Python的方式
    python学习笔记(5)--python环境变量配置
    python学习笔记(4)--Python安装
    python学习笔记(3)--python获取对象帮助信息
    网络基础知识
    重写equals方法
    当在浏览器输入一个url访问后发生了什么
  • 原文地址:https://www.cnblogs.com/safiri/p/3736666.html
Copyright © 2020-2023  润新知