JAVA封装

本文介绍了Java封装的概念,强调信息隐藏的重要性。通过访问器和修改器实现只读或只写的成员变量,以及利用访问修饰符控制类的可见性。详细讨论了public、default、protected和private四种访问权限,探讨了构造函数的私有化和成员变量的初始化规则。此外,还阐述了Java编译单元的规范,特别是public类与文件名的对应关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.集成开发环境IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器编译器调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSiteDreamWeaver等),因为很多项任务会自动生成。
2.
JAVA编译器(javac.exe)的作用是将java源程序编译成中间代码字节码文件,是最基本的开发工具。
编译时首先读入java源程序(即在MS-DOS命令行下键入javac HelloWorld.java等文件名参数和其他选项参数),然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成中间代码即字节码,字节码文件名和源文件名相同,扩展名为.class。
3.一个类里面如果不写任何构造器,编译器会默认增加一个构造器
public class Penguin {
	String name = "企鹅";
	String sex = "男";
	int health = 50;
	int love = 10;
	final String SEX_MALE = "Q仔";
	final String SEX_MAL = "Q妹";
	public Penguin(){    //默认构造器
		
	}
4.无参构造器
public class Penguin {
	String name = "企鹅";
	String sex = "男";
	int health = 50;
	int love = 10;
	final String SEX_MALE = "Q仔";
	final String SEX_MAL = "Q妹";
	public Penguin(){    //无参构造器     
		name = "张三";
	}
无参构造器可以有多种形式。
5.形参————(一个参数得构造器)
	public Penguin(String name){    //构造器  形参     
		this.name = name;
	}

6.重载——构造器重载(多个一样,但参数不一样)
/*	public Penguin(){    无参构造器     
		name = "张三";
		health = 1;
	}*/
	public Penguin(String name){    //无参构造器  形参  1个参数得构造器   
		this.name = name;
		System.out.println(this.name);
	}
	public Penguin(String sex, int health, int love) {
	super();
	this.sex = sex;
	this.health = health;
	this.love = love;
	System.out.println(this.sex+this.health+this.love);
}
7.一个构造器调用另一个构造器————(同一个类)
public Penguin(String name){    //无参构造器  形参  1个参数得构造器   
		this.name = name;
		System.out.println(this.name);
	}
	
	public Penguin(String name, String sex) {  //一个构造器调用另一个构造器,用this关键字
		this(name);			//this关键字
		this.sex = sex;
	}
8.static   静态属性
public class DBUtil {
	static String name = "张三";  //静态属性或者类属性  访问得时候可以直接通过类名.属性
	String sex = "男";
	public static void main(String[] args) {
		System.out.println(DBUtil.name);
	}
}

9.静态方法(类方法)
public static void main(String[] args) {
		System.out.println(DBUtil.add(1, 2));
	}
	public static int add(int a,int b){  //静态方法   或者   类方法   可以通过类名直接访问
		return a+b;
	}
10.static(静态) 初始化代码块
	static{			//初始化代码块   加static只执行一次(第一次加载执行)  不加则每次都会执行
		int c = 2;
		int t = 3;
		System.out.println("------------------"+c+t);
	}
11.静态方法和属性的调用
String sex = "男";
	public static int add(int a,int b){  //静态方法   或者   类方法   可以通过类名直接访问
		DBUtil dUtil1 = new DBUtil();
		System.out.println(dUtil1.sex);  //静态方法只能调用静态属性  如需调用则可通过创建类对象来调用
		return a+b;
	}
12.封装
封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。 [1]  
13.封装的步骤

java封装类通过三个步骤实现:

  (1)修改属性的可见性,限制访问。
  (2)设置属性的读取方法。
  (3)在读取属性的方法中,添加对属性读取的限制。
14.封装的好处

主要体现在信息隐藏

① 类的成员变量可以成为只读或者只写的。

比如用:访问器getXxxx();或者修改器setXxxx();

② 类可以对储存在其中的成员变量中的内容有一个整体的控制。

 可以根据访问修饰符的提点在其它类中调用该类中的属性和行为。

③类的用户不需要知道类是如何储存数据的。

15 .java的四种访问权限


1.几个注意的细节:
  • 类的访问权限只有两种:public和default(默认包访问权限)
  • java编译单元概念:一个.java文件是一个编译单元,每个编译单元最多只能有一个public类,而且该public类名称必须与文件的名称相同(包括大小写,但不包括文件后缀名.java).如果该编译单元内还有其他类,那么这些类只能是default权限,不能被包外访问,而且这些类的主要作用是为public提供支持的(内部类算另外一个编译单元,因为内部类会被编译成另外一个.class文件)
  • 构造函数也可以私有化(private),然后在类中实例化一个对象,再通过方法返回该对象
  • 成员变量(在类里面声明的变量)在声明时可以不给它初始化,编译器会自动给这个成员变量初始化,但局部变量(在方法里面声明的变量)在声明时一定要给它初始化,因为编译器不会自动给局部变量初始化,任何变量在使用之前必须对它进行初始化。

2.Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,protected和public,还有一种不带任何修饰符的默认访问权限(也叫包访问权限)。

  • private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
  • default:即不加任何访问修饰符,通常称为”默认访问权限”。该模式下,只允许在同一个包中进行访问。
  • protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“继承访问权限”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
  • public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值