Java 07 封装 包 可见性修饰符 访问器方法

1 包

1.1 包的声明

一级形式包的声明

package pkg;

例如,创建一个名为myPackage的包

package myPackage;

规则:目录名称必须和包名严格匹配,如下:
在这里插入图片描述
实际上,包会包括很多文件,如下:
在这里插入图片描述
多级形式包的声明:

package pkg.pkg2.pkg3;

例如:

package java.awt.image;

注:
package必须是第一条语句。
只能使用其他包中的public类。
没有定义包名的类属于无名包,不能被有名包引用。

1.2 包的引入

引入其他包中的类的语法如下:

import 包类.类名;

例子如下:
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述

分析:
导入ch06包中Package类,在Import_1类中,调用Package的方法。

注:
1 只能引入其他包中public类;
2 一个类可以使用多个import语句引入其他包;
3 import语句是在package语句后的第一条非注释语句。

1.3 Java类库中常用的包

Java类库中常用的包有多个,下面重点介绍如下几类:
java.lang:Java编程语言的基本类库;
java.awt:提供了创建用户界面以及绘制和管理图形、图像的类;
javax.swing:提供了一系列轻量级的用户界面组件,是目前Java用户界面常用的包;java.awt.event:图形用户界面事件处理包;
java.sql:提供了访问和处理来自于Java标准数据源(通常是一个关系型数据库)数据的类;
java.io:提供了通过数据流、对象序列以及文件系统实现的系统输入、输出;
java.util:包括集合类、时间处理模式、日期时间工具等各类常用工具包;
java.net:提供了用于实现网络通讯应用的所有类。

2 修饰符

2.1 类的修饰符

public:包内外都可访问
默认:只能包内访问

2.2 类的成员的修饰符

public:包内+包外可访问
protected:包内+包外子类可访问
默认:包内可访问
private:类内可访问

2.3 类方法的修饰符

public:包内+包外可访问
protected:包内+包外子类可访问
默认:包内可访问
private:类内可访问
小结
在这里插入图片描述

3 访问器方法

方法和构造方法一般为public
属性一般为private
对象不能直接访问私有域,但是用户常常需要检索和修改数据域。为了能够访问数据域,可以为私有数据域添加读取方法(getter)和设置方法(setter),这些方法称为访问器方法。

3.1 读取——getter方法

设置方法
void set属性名(属性类型的参数)
比如:对属性radius
public void setRadius(double radius)

3.2 设置——setter方法

获取方法
属性类型 get属性名()
比如:public double getRadius()

实例

编写一个Java程序,程序中有一个类Telephone,Telephone类中包含电话品牌、电话号码、通话时间、费率、余额属性,以及计算话费和显示信息方法。
考虑充值的时候需要确定多少元,所以充值方法需要形参。充值后的余额方法只是修改属性值,不需要返回值。

public class Test {

	public static void main(String[] args) {
		//实例化对象,根据构造函数参数传入对应的值
		Telephone t1;
		t1=new Telephone("三星","123456789",100);
		//设置rate的值
		t1.setRate(0.2);
		//设置通话时间
		t1.setDialledTime(10);
		//对象调用方法
		t1.display();
		t1.callCost();
		System.out.println("充值前的余额:"+t1.getBanlance());
		t1.recharge(50);
		System.out.println("充值后余额:"+t1.getBanlance());
	}

}
//定义手机类,有5个属性
class Telephone {
	private String brand;
	private String number;
	private double dialledTime;//通话时间属性
	private double rate;//费率,即每分钟多少钱
	private double banlance;//余额
	//构造方法,3个参数
	public Telephone(String brand, String number, double banlance) {
		this.brand = brand;
		this.number = number;
		this.banlance = banlance;
	}
	//get,set方法
	public String getBrand() {
		return brand;
	}
	public void setBrand(String brand) {
		this.brand = brand;
	}
	public String getNumber() {
		return number;
	}
	public void setNumber(String number) {
		this.number = number;
	}
	public double getDialledTime() {
		return dialledTime;
	}
	public void setDialledTime(double dialledTime) {
		this.dialledTime = dialledTime;
	}
	public double getRate() {
		return rate;
	}
	public void setRate(double rate) {
		this.rate = rate;
	}
	public double getBanlance() {
		return banlance;
	}
	public void setBanlance(double banlance) {
		this.banlance = banlance;
	}
	
	//1 充值多少钱,2 充值后还有多少余额
	public void recharge(double cost) {
		banlance=banlance+cost;
		System.out.println("充值后的余额"+banlance);
	}
	//计算花了多少钱,还剩下多少钱
	public void callCost() {
		double callcost=dialledTime*rate;
		banlance=banlance-callcost;
		System.out.println("话费:"+callcost);
	}
	
	//显示基本信息
	public void display() {
		System.out.println("手机品牌:"+brand+"电话号码:"+number);
		System.out.println("通话时间:"+dialledTime+"费率"+rate);
	}
}

小结

1 包(package)是类的容器。
2 如果写package语句,那么它必须是文件中第一条非注释语句。
3 如果写import语句,那么它必须是继package语句后的第一条非注释语句。
4 可见性修饰符是指定类、方法和属性的访问权限的。
5 类的可见性修饰符有两种,其中public是包内外都可见,默认的是只能包内可见。
6 类的成员可见性修饰符有四种,其中public是包内包外都可以访问;protected是包内和包外子类可访问;默认的为包内可访问;private是类内可访问。
7 类方法的可见性修饰符与类的成员的可见性修饰符一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值