1. 包的定义与使用

  1. 写主类之前先定义包 在源文件首行package 包名称

为避免源文件重名产生包,包就是文件夹。

2.包名称规范:

公司域名反转、个人主页地址反转

  1. 不能使用别人的包名

打包编译命令:

javac -d .Test.java;

-d:根据package定义的包名称创建生成目录

. :在当前目录下生成

4.类定义了包名 +类名:全限定名

执行需要使用全名称:包名.类名

java www.bit.java.Test

5.包名是独立的,没有包含关系

2. 导入包

import 包名
package www.bit.java.test;
import www.bit.java.util.Message;//导入程序类
public class Test{
    public static void main(String[] args){
        Message msa = new Message();
        msg.print();
    }
}

Test类中引用了Message类,首先编译Message类,然后编译Test类

package www.bit.java.util;
public class Message{
    public static void main(String[] args){
        Syatem.out.println("[Message] hello java");
    }    
}

上述情况复杂 这时使用打包表编译命令

自动打包编译命令(将当前路径下的所有源文件按照主类的使用情况自动编译)

javac -d . ./*.java

3.类使用class和public class的区别:

1.public class: 文件名成必须与类名称保持一致,如果希望一个类被其他包访问,则必须定义为public class

2.class:文件名称可以与类名称不一致,在一个*.java中可以定义多个class ,但是这个类不允许被其他包所访问。

3.1.导入多个包

import www,bit.java.util.*;

3.2 不同包相同类名导入

不同包同名类如果被同时使用在使用类的时候采用全限定名(不需要导入)

www.bit.java.message.Message msg = new www.bit.java.messag.Messag();

4.系统常用包

1.java.lang:系统常用基础类(String、Object),该包JDK1.1后自动导入

2.java.lang.reflect:java 反射编程包

3.java.net:进行网络编程开发包

4.java.sql:仅从数据库开发的支持包。

5.java.util:是java提供的工具程序包。(集合类);

6.java.io:IO 编程开发包。

7.java.awt (离不开Windows 平台)、java.swing: UI开发包 。

5.访问控制权限

private >default(不写默认)>protected>public

package father;//父类包
public class Father {
    //定义protected权限
    protected String msg="www.bit.java";
}
package child;//子类包
import father.Father;
public class Child extends Father {
    public void print(){
        System.out.println(super.msg);//父类中的protected权限
    }
}
package test;//测试包
import child.Child;

public class TestProtected {
    public static void main(String[] args) {
        Child child = new Child();
        child.print();//只有子类可以访问protected权限
    }
}

在不同的包中,只有子类能访问父类中的protected权限。

关于权限的选择:

1.对于封装的描述90%使用private权限,10%会使用protected权限;

2.属性都使用private权限,方法都是用public权限。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值