this关键字
this关键字表示对象本身
1. 调用当前方法的类对象
2. 通过构造方法创建的类对象
this表示一个对象!!!当前对象!!!
目前this关键字解决的问题
可以在方法中使用this关键字区分操作的是成员变量还是局部变量
package com.qfedu.b_this;
class Person {
String name;
int age;
public Person() {
// this关键字表示通过new + 构造方法创建的类对象本身
System.out.println("Constructor: " + this);
}
public Person(String name) {
/*
* 以下操作是没有用的,这是自娱自乐!!!
* 这里存在一个【就近原则】问题,如果出现和成员变量
* 同名的局部变量,采用就近原则
*/
// name = name;
/*
* 这里需要赋值操作的是当前类对象中的name成员变量
* this.成员变量名字 表示使用的就是当前类对象的成员变量,而不是方法的参数
*/
this.name = name;
}
public Person(String name, int age) {
/*
* 使用this关键字区分成员变量和局部变量
*/
this.name = name;
this.age = age;
}
public void test() {
// 表示调用当前方法的类对象
System.out.println("test: " + this);
}
}
public class Demo1 {
public static void main(String[] args) {
Person person = new Person();
System.out.println("main: " + person);
person.test();
// PFSP private final static Person
}
}
封装【重点,规范】
面向对象三大特征
封装
最基本的思想
继承
子承父业,你长得真的像你父母
多态
猫,狗,都是动物
U盘,键盘,鼠标,都是USB设备
【最难的是多态,最简单的也是多态】
封装,不单单是对于类的封装
归纳总结!!!
循环封装过程
方法封装功能
类封装数据
框架封装模块
一段代码使用了三遍,做成一个循环
一个循环使用了三遍,做成一个方法
一个方法使用了三遍,做成一个工具类
一个工具类使用了三遍,做成一个文档
一个文档使用了三遍,做成一篇博客
Java中规范化封装【JavaBean规范】
要求:
1. 所有的成员变量全部私有化【private修饰】
2. 要求至少完成一个无参数构造方法,其他无所谓
3. 要求给予所有的成员变量对应的setter和getter方法
权限修饰符
private
私有化内容,使用private修饰的成员变量,成员方法和构造方法,有且只能类内使用,类外没有操作权限。
使用private修饰的内容有且只能在class所处大括号以内使用
public
公开内容,只要存在对应的类对象,都可以通过类对象调用类内的public修饰的成员变量和成员方法
解决私有化成员变量赋值和取值操作问题
private私有化修饰的成员变量,类外不能通过类对象操作,取值,赋值。
JavaBean规范规定了
setter ==> 赋值操作
格式:
public void set成员变量名(对应成员变量数据类型参数) {
赋值操作;
}
getter ==> 取值操作
public 对应成员变量数据类型返回值 get成员变量名字() {
return 成员变量;
}
注意
1. 方法格式固定,setter和getter方法操作过程不能修改
2. 方法需要符合命名规范,小驼峰命名法
3. boolean类型数据较特殊
boolean类型的成员变量getter方法要求是is开头
关于JavaBean规范的总结
JavaBean规范制定的要求
1. 要求Java中的所有实体类成员变量全部私有化,最少提供一个无参数构造方法,对应成员变量实现setter和getter方法
2. JavaBean规范,是为了后期开发汇总更好的代码适配度,提高代码运行的统一性,能够满足框架的使用
3. JavaBean规范只是一个规范,而且是作为一个基础规范,操作都是可以使用快捷键来完成的!!!