lyt0612

导航

2022-07-19 第二组 刘禹彤 学习笔记

打卡第10天

今天继续学习面向对象

 

 

###学习内容

1.this关键字

  • this代表当前类的对象,this代表当前属性的调用者,谁调的方法他就代表谁
  • this既然代表方法的调用者,它实际上和对象的作用是一样的,既可以调属性,也可以调方法
  • this不能用在static中
  • 开发中使用this来赋值
  • 通常用于赋值,尤其是构造器赋值
  • this调用构造器的要求:1.必须在构造器中使用this,调用构造器

2.必须是第一句话

2.构造器赋值

看创建对象是为了干什么:1.如果说仅仅是为了调用这个类的方法,建议使用无参构造器

2.如果创建对象需要用到对象的某个属性,可以使用构造器赋值

3.面向对象的特征,封装

1.代码层面;(1)属性私有化,所有的属性都要使用private封装

(2)提供一个set,get方法

getter方法能够按照客户期望返回格式化数据

setter方法可以限制和检验setter方法传入的参数是否合法

隐藏对象的内部结构

正确定义一个类:1.所有的属性私有化

2.每个属性都有对应的setter,getter方法

2.思想层面

4.空指针异常:

  • 什么情况下会出现空指针异常?

引入数据类型的默认值(初始值是null,空引用

  • 3个异常:(1)数组下标越界

(2)内存溢出(错误

(3)空指针

  • 空指针异常NullPointException

5.构造器,一出生就有

方法,有条件才有

6.User类型的数组

  • User类型的数中保存的就是一个一个的User对象
  • 当从User类型的数组中取值的时候,比如说users0是一个User类型的对象

###学习心得

这两天学习的有点不太好理解,方法,构造器都不太会,还要反复看老师给出的实例和视频,向周围的同学提问,把知识点都理清

###例子:让一个人有一条狗

###掌握程度:一般

public class Ch01 {
    public static void main(String[] args) {
        //方法(1)构造器
//        Dog dog = new Dog("灰色",-2);
//      dog.show();
        //方法(2)set
        Dog dog = new Dog();
//        dog.show();
        dog.setAge(20);
        //方法(3) get
        int age = dog.getAge();
        System.out.println(age);

    }

 

package b;

public class Dog {
    private String color;
    private int age;
//set方法,方法(2)
    public void setAge(int age) {
        this.age = age;
    }
//get方法(方法3)
    public int getAge(){
        return age;
    }

    //构造器(方法1)
    public Dog(){}
    public  Dog(String color ,int age) {
        this.color = color;
        this.age = age;
//        if (age >= 0) {
//            this.age = age;
//        } else {
//            this.age = 0;
//        }

    }
        public void show() {
            System.out.println("颜色" + color + "年龄" + age + "的狗");
        }

    }

 

posted on 2022-07-19 19:14  小仙女吖~  阅读(31)  评论(0)    收藏  举报