java 包、权限修饰符 学习笔记

目录

包的概念

导包

权限修饰符

权限修饰符概念

分类和具体作用范围

权限修饰符的演练 

包的概念

  • 包是用来分门别类的管理各种不同类的,类似于文件夹、建包利于程序的管理和维护。
  • 建包的语法格式:package 公司域名倒写.技术名称。报名建议全部英文小写,且具备意义。
package com.itheima.javabean; //建包语句必须在第一行,一般IDEA工具会帮助创建

public class Student {
        }

导包

  • 相同包下的类可以直接访问,不同包下的类必须导包,才可以使用。
导包格式:import 包名.类名
  • 假如一个类中需要用到不同类,而这个两个类的名称是一样的,那么默认只能导入一个类,另一个类要带包名访问。
  • IDEA中选中需要导包的关键字 按快捷键 alt+回车 快捷导包
package Test;

public class Tool_ {
    public static int aNum = 12; //定义一个静态成员变量

}
package Test;

public class Test_1 {
    public static void main(String[] args) {
        //相同包下的类可以直接访问
        System.out.println(Tool_.aNum);

        //假如一个类中需要用到不同类,而这个两个类的名称是一样的
        // 那么默认只能导入一个类,另一个类要带包名访问
        Test.Tool_ ce = new Test.Tool_();
    }
}

权限修饰符

权限修饰符概念

  • 是用来控制一个成员能够被访问的范围
  • 可以修饰成员变量,方法,构造器,内部类,不同权限修饰符修饰的成员能够被访问的范围将受到限制

分类和具体作用范围

权限修饰符:有四种作用范围由小到大(private -> 缺省 -> protected - > public )

修饰符

同一 个类中

同一个包中

其他类

不同包下的

子类

不同包下的

无关类

private

缺省

protected

public

权限修饰符的演练 

其中cc类为本地类 lo类为同包不同类 tt类为不同包不同类 son类为cc类子类

package Test02.co.d;

public class cc {
    //定义私有的成员
    //访问范围:只能在本类中访问
    private void a() {
        System.out.println("————私有————");
    }

    //定义缺省成员
    //访问范围:在本类中、同包的其他类访问(包访问权限)
    void b() {
        System.out.println("————缺省————");
    }

    //定义protected修饰的方法
    //访问范围:在本类中、同包的其他类访问、其他包的子类中
    protected void c() {
        System.out.println("————protected————");
    }

    //定义public修饰方法
    //访问范围:在本类中、同包的其他类访问、其他包的子类中、其他包的无关类中
    public void d() {
        System.out.println("————public————");
    }

    //所以在本类中以上都可访问
    public static void main(String[] args) {
        cc c = new cc();
        c.a();
        c.b();
        c.c();
        c.d();
    }
}
package Test02.co.d;

import Test02.co.d.cc;

public class lo {
    public static void main(String[] args) {
        cc c = new cc(); //同包中不需要导包直接访问
        //访问c.a();会报错 因为是私有成员方法
        c.b();
        c.c();
        c.d();

    }
}
package Test02.co.test;

import Test02.co.d.cc;  //导包
public class tt {
    public static void main(String[] args) {
        cc c = new cc();

        //访问c.a();会报错 因为是私有成员方法
        //c.b();访问范围:在本类中、同包的其他类访问(包访问权限)
        //c.c();访问范围:在本类中、同包的其他类访问、其他包的子类中
        c.d(); //公共可以访问

    }
}
package Test02.co.test;

import Test02.co.d.cc;  //导包

public class son extends cc{
    public static void main(String[] args) {
    //创建子类对象进行访问
        son s = new son();
        //访问c.a();会报错 因为是私有成员方法
        //c.b();访问范围:在本类中、同包的其他类访问(包访问权限)
        s.c();
        s.d();
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

open_test01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值