java学习--包和访问修饰符

包(package)

包-->文件夹

包的作用:

  1. 避免类重名 包名(类的地址)+类名 == 全类名(唯一的地址名称)

  2. 按照不同的功能管理类

    按照天数管理类名:day1,day2

    项目中有很多类,有的是与数据库交互,有的是与前端交互

  3. 控制访问权限

/*
import 类的地址
在一个类中使用另一个包中的类,需通过import关键字,将类和地址导入
 */
import java.util.Date;
//import java.sql.Date;不能导入相同的类名

//java.lang中的类不需要导入

public class Car {
    /*
   全包名= 包名 + 类名的简称
    */
    public static void main(String[] args) {
        Date date = new Date();
        java.sql.Date  date1= new java.sql.Date(1);//如果需要导入相同的类名只能牺牲一个,写出类的全路径
    }
}

访问权限修饰符

public 公共权限修饰符 修饰类,方法,属性

protected 保护权限修饰符 修饰属性,方法

default 默认权限修饰符 修饰类,属性,方法

private 私有权限修饰符 修饰属性,方法

java学习--包和访问修饰符

package javaopp.Day03;
public class Demo {

    public int pub;
    protected int pro;
    int def;
    private int pri;

    /*
        被不同访问权限修饰符修饰的成员变量
     */
    public void pub() {
    }

    protected void pro() {
    }

    void def() {
    }

    private void pri() {
    }

    /*
         在自己的类中,任何访问权限修饰符,修饰的成员变量都可以被访问
     */
    public static void main(String[] args) {
        Demo d = new Demo();
        System.out.println(d.pub);
        d.pub();

        System.out.println(d.pro);
        d.pro();

        System.out.println(d.def);
        d.def();

        System.out.println(d.pri);
        d.pri();
    }
}

同一个包中的不同类可以访问public default protected

package javaopp.Day03;
public class Demo1 {
    /*
        同一个包中的不同类中可以访问public default protected
     */
    public static void main(String[] args) {
        Demo d = new Demo();
        System.out.println(d.pub);
        d.pub();

        System.out.println(d.def);
        d.def();

        System.out.println(d.pro);
        d.pro();

        /*
        同一包中的不同类中不能访问private
         */
        /*System.out.println(d.pri);
        d.pri();*/
    }
}

不同包的不同子类只能访问public

package javaopp.Day004;

import javaopp.Day03.Demo;

/*
    不同包的不同子类只能访问public
 */
public class Demo2 {
    public static void main(String[] args) {
        Demo d = new Demo();
        System.out.println(d.pub);
        d.pub();

    }
}

不同包的不同子类中可以访问父类中的受保护的成员

package javaopp.Day004;

import javaopp.Day03.Demo;

/*
    不同包的不同子类中可以访问父类中的受保护的成员
    使用extends继承
 */
public class Demo3 extends Demo {

    public static void main(String[] args) {
        Demo3 d3 = new Demo3();
        System.out.println(d3.pub);
        d3.pub();

        System.out.println(d3.pro);
        d3.pro();

    }
}

上一篇:gitlab ssh设置


下一篇:linux配置ssh互信