欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-28 16:30:16
包(package)包–>文件夹包的作用:避免类重名 包名(类的地址)+类名 == 全类名(唯一的地址名称)按照不同的功能管理类按照天数管理类名:day1,day2项目中有很多类,有的是与数据库交互,有的是与前端交互控制访问权限/*import 类的地址在一个类中使用另一个包中的类,需通过import关键字,将类和地址导入 */import java.util.Date;//import java.sql.Date;不能导入相同的类名//java.lan...

包(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();

    }
}

本文地址:https://blog.csdn.net/XiaoFanMi/article/details/110235186

相关标签: JAVA