包与访问修饰符

文章介绍了Java中包的作用,如区分同名类、管理类,以及包的命名规则。提到了一些常用的Java包,如java.lang、java.util等。此外,详细阐述了访问修饰符的四种级别(public、protected、默认、private)及其应用场景,并通过代码示例展示了如何使用。最后,强调了包和访问修饰符在实际开发中的注意事项。
摘要由CSDN通过智能技术生成

目录

包的需求引出

包的作用

包的命名和规则

Java里比较常用的包

包的注意事项和使用细节

访问修饰符

访问修饰符的概念

访问修饰符的注意事项

访问修饰符权限表格(非常重要)

小结:


包的需求引出

在开发中,经常会出现,很多人同时开发一个项目,此时很容易造成类名的重复,因此就引入了包的概念,在不同包下,相同的类目也不会报错,使用时,引入对应的包即可。

包的作用

1.区分相同名字的类

2.当类很多时,可以很好的管理类

3.控制访问范围

包的命名和规则

命名规则:

只能包含数字、字母、下划线、小圆点,但不能用数字开头,不能是关键字(public、protected、privateclass、interface、abstract、if、else、switch、case、break、default、continue、while、do、for 等等)或保留字(goto、const、null)

命名规范:

一般是小写字母+小圆点一般是 com.XXX.XXX.XXX ‘.’表示新建一个文件夹

Java里比较常用的包

java.lang.* //lang包是基本包,默认引入,不需要再引入

.java.util.* //util包,系统提供的工具包,工具类,比如Scanner

java.net.* //网络包,网络开发 java.awt.* //是做java的界面开发,GUI

java.IO.*//IO流的包,用于IO读取

包的注意事项和使用细节

1.package的作用是声明当前类所在的包,需要放在类的最上面,一个类中最多只有一句package

2.import指令 位置放在package的下面,在类定义前面,可以有多句且没有顺序 要求。

代码演示:

package com.package_;
//1.package的作用是声明当前类所在的包,需要放在类的最上面,一个类中最多只有一句package
//注意位置不可以交换,如果把package 和 import的位置交换了,那么会报错

//2.import指令 位置放在package的下面,在类定义前面,可以有多句且没有顺序 要求。
import java.util.Scanner;

/**
 * 演示包的注意事项和使用细节
 */
public class packageDetail {
    public static void main(String[] args) {
        //使用scanner工具类需要引入java.util.Scanner;这个包
        Scanner scanner = new Scanner(System.in);
        
    }
}

访问修饰符

访问修饰符的概念

java提供四种访问控制修饰,用于控制方法和属性(成员变量)的访问权限(范围):

1.公开级别:用public修饰,对外公开 .

2.受保护级别:用protected修饰,对子类和同一个包中的类公开

3.默认级别:没有修饰符号,向同一个包的类公开.

4.私有级别:用private修饰,只有类本身可以访问,不对外公开.

代码演示:

1.注意代码中,A类是新建的一个类没有写在同一个方法中了

package idea.modifier;

/**
 * 演示访问修饰符的区别
 */
public class Test {
    public static void main(String[] args) {
        //1.公开级别:用public修饰,对外公开 .
        //2.受保护级别:用protected修饰,对子类和同一个包中的类公开
        //3.默认级别:没有修饰符号,向同一个包的类公开.
        //4.私有级别:用private修饰,只有类本身可以访问,不对外公开.

        A a = new A();
        System.out.println(a.age);
        System.out.println(a.name);
        System.out.println(a.sum);
        //我们可以看到,private是私有的意思,如果一个变量或者方法被private修饰了,那么就不能够,通过对象名.属性名直接去访问,需要A类提供对应的get 和 set方法才能够进行访问
        //System.out.println(a.loop);
        System.out.println(a.isLoop());//这样我们就可以看到输出的效果了,因为我们没有给属性初始化,因此输出的内容都是默认值


    }
}


package idea.modifier;


class A {
    public int age;
    protected String name;
    double sum;
    private boolean loop;

    public boolean isLoop() {
        return loop;
    }

    public void setLoop(boolean loop) {
        this.loop = loop;
    }

    public void hi01() {

    }

    protected void hi02() {

    }

    void hi03() {

    }

    private void hi04() {

    }
}

 

访问修饰符的注意事项

1)修饰符可以用来修饰类中的属性,成员方法以及类

2)只有默认的和public才能修饰类!,并且遵循上述访问权限的特点。

4)成员方法的访问规则和属性完全一样.

代码演示:

1.如果想要访问修饰符,修饰类,那么只能使用,public或者是默认(也就是什么都不写),如果使用private 或者是 protracted 修饰类,那么会报错

访问修饰符权限表格(非常重要)

访问级别访问控制修饰符同类同包子类不同包
公开public
受保护protracted×
默认没有修饰符××
私有private×××
package idea.modifier;

/**
 * 演示访问修饰符的注意事项和使用细节
 */
public class TestDetail {
    public static void main(String[] args) {
        //1)修饰符可以用来修饰类中的属性,成员方法以及类

        //4)成员方法的访问规则和属性完全一样.

        A a = new A();
        a.hi01();
        a.hi02();
        a.hi03();
        //我们可以看到,在不同类中,被private修饰的方法就不能使用
        //a.hi04();
    }
}

//2)只有默认的和public才能修饰类!,并且遵循上述访问权限的特点。
//这样的写法都是错误的
//private class B{
//
//}

//protected class B{
//
//}

//注意在Java中只能有一个public类




package idea.modifier;


class A {
    //定义了四个不同修饰符修饰的属性
    public int age;
    protected String name;
    double sum;
    private boolean loop;

    public boolean isLoop() {
        return loop;
    }

    public void setLoop(boolean loop) {
        this.loop = loop;
    }

    public void hi01() {

    }

    protected void hi02() {

    }

    void hi03() {

    }

    private void hi04() {

    }
}

小结:

因为我们还没有学习到继承,因此不同的访问修饰符,在子类和父类继承的关系,我们讲解到位,后续在讲到继承的时候,还会在讲一遍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值