封装概述
指隐藏对象的属性和实现细节,仅对外提供公共public访问方式。
封装好处
隐藏实现细节,提供公共的访问方式
提高了代码的复用性和安全性。
封装原则
封装原则将不需要对外提供的内容都隐藏起来。
把属性隐藏,提供公共方法对其访问。
private(私有)关键字特点
①是一个权限修饰符
②可以修饰成员变量和成员方法
③被其修饰的成员只能在本类中被访问
当成员变量用private修饰表示外界不能访问
this关键字的概述和应用
this关键字特点
代表当前对象的引用
this的应用场景
用来区分成员变量和局部变量重名
this和外面调用的变量是指向同一地址的,指的是同一个对象【好好理解】
public class HelloWorld {
public static void main(String []args) {
Person p = new Person();
p.name = "sda";
// p.age = 78; 报错 ,私有变量
p.setAge(78);
p.speak();
System.out.println("Hello World!");
}
}
class Person{
String name;
private int age;
public void speak(){
System.out.println("姓名" + name +" " + age);
}
pubilc void setAge(int age){
this.age = age;
}
}
this和外面调用的变量是指向同一地址的,指的是同一个对象
this 指向的对象即为 p指向的对象(上图代码)
构造器方法Constructor概述
构造器作用:给对象的数据(属性)进行初始化赋值
构造器格式特点:
1.方法名与类名相同(大小也要与类名一致)
2.没有返回值类型,连void都没有
3.没有具体的返回值return
构方法分为有参构造和无参构造两种
构造方法的重载:
1是指方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表
案例:使用Person类演示, 如下
class Test {
public static void main(String []args) {
Person p = new Person();
Person q = new Person("马云");
p.setAge(78);
p.speak(); //姓名小明 78
q.speak(); //姓名马云 0
}
}
class Person{
String name;
private int age;
public Person(){ //无参数构造方法
name = "小明";
}
public Person(String name){
this.name = name;
}
public void speak(){
System.out.println("姓名" + name +" " + age);
}
public void setAge(int age){
this.age = age;
}
}
构造方法注意事项
1.如果我们没有给出构造方法,系统将自动提供一个无参构造方法。
2.如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
3.如果我们声明的有参的构造方法,这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法
4.正确构造方法的书写格式 【public 类名( ) 】
成员变量(属性)赋值的三种方式
直接给属性赋值【这种开发中比较少用】
通过setXxx()方法给属性赋值【开发中常用,一般属性会声明private私有的】
构造方法,给对象中属性进行初始化
static关键字
1.随着类的加载而加载
2.优先于对象存在
3.被类的所有对象共享
共性用静态,特性用非静态
static声明的成员属性可以通过类名调用
•其实它本身也可以通过对象名调用。
•推荐使用类名调用【强调】。
•静态修饰的内容一般我们称其为:与类相关的类成员
static的注意事项【掌握】
static的可以用来修饰属性,也可以用来修饰方法
在静态方法中是没有this关键字的【掌握】
静态是随着类的加载而加载,this是随着对象的创建而存在。
静态比对象先存在。
静态方法只能访问静态的成员变量和静态的成员方法【掌握】
非静态方法可以访问静态的成员变量和静态的成员方法【掌握】
简单记: 静态只能访问静态。
静态变量和成员变量的区别【掌握】
静态变量也叫类变量 成员变量也叫对象变量
所属不同
静态变量属于类,所以也称为为类变量
成员变量属于对象,所以也称为实例变量(对象变量)
内存中位置不同
静态变量存储于方法区的静态区
成员变量存储于堆内存
内存出现时间不同
静态变量随着类的加载而加载,随着类的消失而消失
成员变量随着对象的创建而存在,随着对象的消失而消失
调用不同
静态变量可以通过类名调用,也可以通过对象调用(不推荐)
成员变量只能通过对象名调用
JAVA 的注释【掌握】
JAVA 的注释大致分为3块
1、行注释(单行注释)
就是在一行的最前端 写上 “//”
2、块注释(多行注释)
就是在要注释的代码块的前面加上 “/*在结尾加上*/”
3、文档注释
文档注释一般用于方法或类上 “/** 在结尾加上*/” (写的位置方法或类声明之前)
"说明书"的制作过程【了解】
对ArrayTool工具类加入文档注释
通过javadoc命令生成说明书
1.@author(提取作者内容)
2.@version(提取版本内容)
3.@param 参数名称//形式参数的变量名称
4.@return 函数运行完返回的数据
5.javadoc -d 指定的文件目录 -author -version ArrayTool.java
●注:javadoc -d C:\Users\guoyongfeng\Desktop\doc -author -version ArrayTool.java ,在文档化进,ArrayTool的类必须为public