JavaSE 进阶 - 第17章 面向对象(包和访问控制权限)

JavaSE 进阶 - 第17章 面向对象(包和访问控制权限)

1、关于java语言中的package和import机制

1.1、为什么要使用package?

  • package是java中包机制。包机制的作用是为了方便程序的管理。
  • 不同功能的类分别存放在不同的包下。(按照功能划分的,不同的软件包具有不同的功能。)
  • 包可以看作是一个文件夹。

1.2、package怎么用?

  • package是一个关键字,后面加包名。例如:
       package com.yuming.javase.chapter17;
    注意:package语句只允许出现在java源代码的第一行。

1.3、包名的命名规范

  • 一般都采用公司域名倒序的方式(因为公司域名具有全球唯一性。)
  • 包名命名规范:

公司域名倒序 + 项目名 + 模块名 + 功能名
例:com.yuming. javase. chapter17

1.4、对于带有package的java程序怎么编译?怎么运行?

	采用之前的编译和运行不行了。
	类名不再是:HelloWorld了。
	类名是:com.yuming.javase.chapter17.HelloWorld

	编译:
		javac -d . HelloWorld.java
		解释一下:
			javac 负责编译的命令
			-d		带包编译
			.		代表编译之后生成的东西放到当前目录下(点代表当前目录)
			HelloWorld.java  被编译的java文件名。
		
	运行:
		java com.yuming.javase.chapter17.HelloWorld

1.5、关于import的使用

  • import什么时候使用?
    A类中使用B类。
    A和B类都在同一个包下。不需要import。
    A和B类不在同一个包下。需要使用import。

    java.lang.*; 这个包下的类不需要使用import导入。

  • import怎么用?
    import语句只能出现在package语句之下,class声明语句之上。

import 完整类名;
import 包名.*;

import java.util.Scanner; // 完整类名。

// 同学的疑问:这样是不是效率比较低。
// 这个效率不低,因为编译器在编译的时候,会自动把*变成具体的类名。
import java.util.*;

// 想省懒劲你不能太省了。
import java.*; 这是不允许的,因为在java语言中规定,这里的*只代表某些类的名字。

2、访问控制权限

2.1、访问控制权限都有哪些?

  • ① private 私有
  • ② public 公开
  • ③ protected 受保护
  • ④ 默认

2.2、以上的4个访问控制权限:控制的范围是什么?

  • private 表示私有的,只能在本类中访问
  • public 表示公开的,在任何位置都可以访问
  • protected表示只能在本类、同包、子类中访问。
  • “默认”表示只能在本类,以及同包下访问。
    访问控制权限
  • 范围从大到小排序:public > protected > 默认 > private

2.3、访问控制权限修饰符可以修饰什么?

  • 属性(4个都能用)
  • 方法(4个都能用)
  • 类(public和默认能用,其它不行。)
  • 接口(public和默认能用,其它不行。)

传送门

上一章:JavaSE 进阶 - 第16章 面向对象(final、抽象类、接口)
下一章:JavaSE 进阶 - 第18章 面向对象(Object和匿名内部类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值