• 【JAVA基础】面向对象基础(下)


    📃个人主页:个人主页

    🔥系列专栏:JAVASE基础

    目录

    一.构造器

    二.this关键字 

    三.封装 

    四.标准 JavaBean

    五.补充知识:成员变量、局部变量区别


    一.构造器

    构造器的作用
    • 用于初始化一个类的对象,并返回对象的地址。

    构造器的定义格式

    1. 修饰符 类名(形参列表){
    2. ...
    3. }
    1. public class Car {
    2. ...
    3. // 无参数构造器
    4. public Car(){
    5. ...
    6. }
    7. // 有参数构造器
    8. public Car(String n, String b){
    9. ...
    10. }
    构造器的分类
    类型 变量名称 = new 构造器;
    • 无参数构造器(默认存在的):初始化的对象时,成员变量的数据均采用默认值。
    • 有参数构造器:在初始化对象的时候,同时可以为对象进行赋值

    注意事项

    • 任何类定义出来,默认就自带了无参数构造器,写不写都有。
    • 一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写一个无参数构造器了。

    二.this关键字 

    • 作用:出现在成员方法、构造器中代表当前对象的地址,用于访问当前对象的成员变量、成员方法

    this出现在有参数构造器中的用法:

    测试类:

    1. public class base {
    2. public static void main(String[] args) {
    3. Car car = new Car("张三",98.0);
    4. System.out.println(car.name);
    5. System.out.println(car.price);
    6. }
    7. }

    未引入this:

    1. public class Car {
    2. String name;
    3. double price;
    4. public Car(String n , double b){
    5. name = n;
    6. price = b;
    7. }
    8. }

     引入this:

    1. public class Car {
    2. String name;
    3. double price;
    4. public Car(String name , double price){
    5. this.name = name;
    6. this.price = price; }
    7. }

    测试this的地址:

    1. public class base {
    2. public static void main(String[] args) {
    3. Car car = new Car();
    4. car.run();
    5. System.out.println(car);
    6. }
    7. }

    1. public class Car {
    2. public Car() {
    3. System.out.println("无参构造中的this:"+this);
    4. }
    5. public void run(){
    6. System.out.println("方法中的this:"+this);
    7. }
    8. }

    故此 this 代表当前对象的地址

    三.封装 

    • 面向对象的三大特征:封装,继承,多态
    • 什么是封装? 隐藏实现细节,暴露出合适的访问方式。(合理隐藏、合理暴露

    为什么要用封装?

    封装的实现步骤

    • 一般对成员变量使用private(私有)关键字修饰进行隐藏,private修饰后该成员变量就只能在当前类中访问。
    • 提供public修饰的公开的getter、setter方法暴露其取值和赋值。

    未对成员变量使用private(私有)关键字修饰进行隐藏:

    1. public class Student {
    2. int age;
    3. }

     任何类中都能随意赋值

    对成员变量使用private(私有)关键字修饰进行隐藏:

    1. public class Student {
    2. private int age;
    3. }

     不能在其他类中赋值

    封装的好处小结
    • 加强了程序代码的安全性。
    • 适当的封装可以提升开发效率,同时可以让程序更容易理解与维护。

    四.标准 JavaBean

    JavaBean
    • 也可以理解成实体类,其对象可以用于在程序中封装数据。
    标准 JavaBean 须满足如下要求:`
    • 成员变量使用 private 修饰。
    • 提供每一个成员变量对应的 setXxx() / getXxx()。
    • 必须提供一个无参构造器。

    五.补充知识:成员变量、局部变量区别

    成员变量和局部变量的区别
    区别成员变量局部变量
    类中位置不同类中,方法外常见于方法中
    初始化值不同有默认初始化值没有,使用之前需要完成赋值
    内存位置不同堆内存栈内存
    生命周期不同
    随着对象的创建而存在,随着对象的消失而消失
    随着方法的调用而存在,随着方法的运行结束而消失
    作用域在所归属的大括号中
    成员变量和局部变量的区别

  • 相关阅读:
    【吴恩达笔记】机器学习基础
    vue使用.filter方法检索数组中指定时间段内的数据
    二维码智慧门牌管理系统升级技术解决方案
    嵌入式Linux(树莓派)环境设置和交叉编译
    MySQL -- 库和表的操作
    redis数据结构
    软件测试面试(三)
    C# Tryparse的使用说明
    有名管道及其应用
    【 医学影像| 数据预处理】
  • 原文地址:https://blog.csdn.net/Javascript_tsj/article/details/126676543