Java抽象类包访问权限

一、抽象类

  1. 使用abstract定义的类被称之为抽象类

    •   抽象类不能够生成对象(即使用new)
    •   但抽象类可以有构造函数,其在子类对象生成的时候通过子类构造函数中super调用
    •   如果一个类当中包含抽象函数,那么这个必须声明为抽象类
    •   如果一个类中没有抽象函数,这个类也可以被声明为抽象类(可防止被生成对象)

  2. 抽象方法:只有方法的定义(返回值、函数名、参数列表),没有函数体({})的函数,如:public abstract void fun();

  3. 抽象类可以被继承,通过子类复写抽象函数

二、软件包

  1.  为Java类提供了命名空间,不同包中可以有相同名的类

  2.  将类放置到一个包当中,打包需要使用package “包名”;

  3.  编译时需要使用-d 参数,该参数的作用是依照包名生成相应的文件夹(javac -d . Test.java,'.'代表当前目录,javac用于)

  4.  运行.class时需要使用命令java  ”包名“+“."+”类名“

  5.  包名的一般命名规范:

    • 包名所有字母都要小写
    • 包名一般是你的域名倒过来写

  6.  使用其他包中的公共类时,需要使用”包名“+”."+"类名"或者使用“ import 包名”将包导入,这时可直接使用类名

三、访问权限

  权限高到低public -> protected -> default -> private

  1. public:公共权限
    • 使用public修饰符的类允许任意类(可在不同的包中)访问该类
    • public类中的成员和方法是public时,可被其他类访问
  2. private:私有权限
    • 一般修饰变量和方法,被修饰的变量和方法只能被当前的类访问(使用)
  3. default:包级别访问权限
    • 未使用权限修饰符时即为default
    • 包级别访问,同一个包中可访问
    • 跨包子类无法继承(使用)父类中default权限的成员变量和成员方法
  4. protected:受保护权限
    • 首先其拥有和default的功能,但只能修饰成员变量和成员方法
    • 允许包外部的子类使用该成员
原文地址:https://www.cnblogs.com/qiu520/p/4099709.html