《Java面向对象第三章》

一、类的封装

1.为什么要对类进行封装:

将类的相关属性进行隐藏,不对外开放。避免一些安全性问题。

2.封装最常见的例子:

就是针对实体类。

3.需要掌握如何正确编写实体类:

例如:学生实体类为例:  拥有id  name  sex 三个属性。
    
    步骤1:创建该类
    步骤2:声明属性   需要通过private修饰
    步骤3:由于属性都被私有化了。所以外部无法通过属性来进行操作。所以需要对外开放若干个方法,对属性进行操作。
    步骤4:对属性进行set/get方法的创建 可以通过快捷键的方式
    步骤5:需要生成一个toString方法,原因:随时检查实体类的属性值是否正确 如果没有加,打印对象将会得到内存地址
    加了toString,打印对象将会得到对象的属性值。
    步骤6:创建对应的构造方法  

    构造方法的概念:
    1.构造方法是一个特殊的方法。无法被显示调用,只能在被实例化的时候自动调用。
    2.意义:实例化(没有构造方法就无法实例化)。
    3.每个类都至少含有一个构造方法,如果没有声明就说明存在一个默认的无参构造方法    类名 变量名 = new 类名();//这里没有参数
    4.一般来说:一个类至少有2个构造方法,1个无参构造方法  1个有参构造方法。

package com.yyzy.entity;

public class Student {

private int id;
    private String name;
    private char sex;
    
    public Student() {//空参的构造方法 ,有了它 别处才可以 
        
    }

    
    public Student(int id, String name, char sex) {
        this.id = id;
        this.name = name;
        this.sex = sex;
    }

    public int getId() {
        return id;
    }
    
    public void setId(int id) {
        this.id = id;//加了this表示当前类下的属性,没有加this就是方法的参数列表的属性
    }
    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;
    }    
}

4.今日知识点总结:

如果可以从0到1 正确编写一个实体类,且知道每行代码的意义,就表示今天的知识点掌握透了。
            
习题
有一个Person实体类、拥有Id  name  age 三个属性。
将其声明成一个实体类

package com.yyzy.entity;

public class Person {

    private int id;
    private String name;
    private int age;
   
    
    public Person() {//空参构造方法 有了它。在别处才可以通过Person p = new Person(); 来实例化
    
    }
    
    //有参构造方法  反问:上面明明写了无参的为什么还要写有参的。可不可以不写
    //当然可以不写 ,但是如果只有无参的,那么实例化之后需要一一赋值。比较麻烦
    //如果有  有参  实例化的同时 即可完成赋值操作  
    //例如 Person p = new Person(123, "张三" , 18);
    
    public Person(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }
    
    
    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 int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    
    
    @Override
    public String toString() {
        return "Person [id=" + id + ", name=" + name + ", age=" + age + "]";
    }
}

二、 Java的四大修饰符

public : 任何地方都可以访问。
protected : 受保护,只有在同一个包下,或者不同包,但是具有继承关系可以访问。
default(不写) :默认的:只有在同一个包下,可以访问。
private : 私有的,只有当前类可以访问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值