java面向对象(二)

6.对象内存图

1.理解对象的创建语句的意义

创建对象的语法固定为(以学生类为例子):

Student student = new Student();

Student student = new Student();

//Student student 有什么用,创建一个对象的引用
//new	去内存中开辟空间,初始化对象
//Studnet()构造器,给对象的属性赋初值


如下图内存所示:

在这里插入图片描述

2.对象内存图解

在这里插入图片描述

  • 学生类Student
public class Student {
    private int ID;
    private String name;

    public void study(){
        System.out.println(this.name+"正在专心学习");
    }  
}
  • 测试类Test,包含main()方法
public class Test {
    public static void main(String[] args) {
        Student student1 = new Student();

        System.out.println(student1.name);
        
        student1.name = "李华";
        
        System.out.println(student1.name);
        
        student1.study();

    }
}

在这里插入图片描述

7.封装

就像插板一样,把内部的结构封装起来,你不用关心它是怎么实现的,只需要在用它的时候使用它的接口

java中的封装

1.代码封装,方法

2.属性封装,抽象到类中

有什么用?

1.隐藏了细节,仅暴露对外访问部分提高了代码的安全性

2.将共同的事物提取出来,提高了代码的复用性

java三大特性之一,当你遇到某个问题的时候,只需要去找解决这个问题的工具(找对象,调用方法)

使用步骤:

1.使用 private 关键字来修饰成员变量。

2.使用 public 来修饰setter和getter特然方法

将属性私有化,使得外部不能直接访问,只能通过定义的settet和getter来访问属性

代码:

Student类,包含ID、name、sex三个私有属性

public class Student {
    private int ID;
    private String name;
    private char sex;

    public int getID() {
        return ID;
    }

    public void setID(int ID) {
        this.ID = ID;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }
    
}

测试类:

public class Test {
    public static void main(String[] args) {
        Student student = new Student();

        //student.name; 不能直接这样访问属性会报错,必须通过方法设置和得到属性值
        System.out.println(student.getName());
        student.setName("李华");
        System.out.println(student.getName());

    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值