在前面的一些日子里,一只都在学习C#语言,使用C#在做一些小项目的,今天转到了Java的学习,还是感觉有点的不习惯,没有以前的中文界面的,全是英文。写起代码来都一直保持着C#中的编码的习惯,但是学习JAVA并不是很难,今天讲的JAVA中抽象和封装和C#之前学过的非常类似,所以只要C#学的好,转到JAVA还是挺容易的。好了,下面进入主题。
一.关于Class类的访问权限问题。
01.public:可以供所有的类访问。
在JAVA中如果一个类没有访问修饰符,那么他的默认修饰符可以称为friendly,但是,java语言中是没有friendly这个修饰符的,那么这个friendly是来源于C++。其实Java中的类的默认访问权限是包级访问权限。就是说如果写了一个类没有写访问权限修饰符,那么该类就是默认的包级别的访问权限,同一个包下的类都可以访问到。如果想在不同包下使用该类,必须先导入包明,在进行访问该类的操作。
二.JAVA中的封装
01.什么是封装:
封装就是将属性私有化,提供公有的方法访问私有属性。
做法就是:修改属性的可见性来限制对属性的访问,并为每个属性创建一对取值(getter)方法和赋值(setter)方法,用于对这些属性的访问。
02.为什么需要封装:
通过封装,可以实现对属性的数据访问限制,同时增加了程序的可维护性。
由于取值方法和赋值方法隐藏了实现的变更,因此并不会影响读取或修改该属性的类,避免了大规模的修改,程序的可维护性增强。
03.封装的实现方法:
01.修改属性的可见性来限制对属性的访问。
02.为每个属性创建一对赋值方法和取值方法,用于对这些属性的访问。
03.在赋值和取值方法中,加入对属性的存取的限制。
首先我们可以定义一个类:假如定义一个Dog类。该类有具有以下属性:狗的姓名(name),狗的健康值(health)。
public class Dog {
private String name="无名氏";//昵称
private int health=100;//健康值
}
实现封装这两个字段的步骤:
01.按快捷键alt+shift+s会出现如图下图所示的界面,选中红色框出的地方。
02.进入到下一个界面,按图型操作。
03.封装后的代码
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
三.This关键字:
This是在对象内部指代自身的引用。可以直接引用对象,可以解决实例变量和局部变量之间发生的任何同名的冲突。
三.小技巧:格式化代码
这里用到了一个快捷键ctrl+shift+F,注意(在没有输入法的情况下使用)。