类和对象—封装

1、封装的概念

封装就是套壳屏蔽细节,比如计算机厂商在出厂时,在外部套上壳子,将内部实现细节隐藏起来,仅仅对外提供开关机、键盘以及 USB 插孔等,用户无需知道主机内部的核心部件、电路走线等,仅仅只需要通过开关机、键盘等与计算机交互即可。
封装:将数据和操作数据的方法有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象实现交互。

2、访问限定符

Java中主要通过类和访问权限来实现封装:类可以将数据以及封装数据的方法结合在一起,而访问权限用来控制方法或者字段能否直接在类外使用。Java中提供了四种访问限定符:

在这里插入图片描述
注意:

  • default:什么都不写时的默认权限。
  • 访问权限除了可以限定类成员的可见性,还可以控制类的可见性。
  • 一般情况下成员变量设置为 private,成员方法设置为 public。
  • 类的访问权限必须是 public 或者 default。当 public 修饰类时,表明该类可以被不同包中的类使用;当 default 修饰类时,表示该类只能被当前包中的其他类使用。
  • 父类中 private 成员变量虽然在子类中不能被直接访问,但是也继承到子类中了。

3、包

3.1、包的概念

为了更好的管理类,将多个类收集在一起成为一组,称为软件包,类似于目录。在 Java 中也引入了包的概念。

  • 包是对类、接口等的封装机制的体现,是一种对类或者接口等的很好的组织方式。
  • 只要处在不同的包中,在同一个工程中可以有相同名称的类。

3.2、导入包的类

  1. 通过完整包名导入,但是这种方法比较繁琐,不推荐。
public class Test {
	public static void main(String[] args){ 
		java.util.Date date = new java.util.Date(); 				
		System.out.println(date.getTime()); 
	} 
}
  1. 利用 import 语句导入包。
import java.util.Date;
public class Test {
	public static void main(String[] args){ 
		Date date = new Date(); 				
		System.out.println(date.getTime()); 
	} 
}

如果需要使用 java.util 中的其他类,可以使用 java.util.* ,意思是导入该包下的所有类。但是这样使用容易出现问题,例如 java.sql 和 java.util 中都有类 Date,此时使用 Date 就会出现歧义,编译出错,在这种情况下就需要使用完整的类名。

import java.util.*; 
import java.sql.*;

public class Test {
	public static void main(String[] args){ 
		java.util.Date date = new java.util.Date(); 				
		System.out.println(date.getTime()); 
	} 
}

可以使用 import static 导入包中静态的方法和字段。

import static java.lang.Math.*;
public class Test {
	public static void main(String[] args) {
		double x = 30;
		double y = 40; 
		// 静态导入的方式写起来更方便一些
		// double result = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
		double result = sqrt(pow(x, 2) + pow(y, 2)); 
		System.out.println(result); 
	} 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值