Java面向对象第2天

精华笔记:

  1. 构造方法:构造函数、构造器、构建器---------------复用给成员变量赋初始值代码

    • 作用:给成员变量赋初始值

    • 与类同名,没有返回值类型(连void都没有)

    • 在创建(new)对象时被自动调用

    • 若自己不写构造方法,则编译器默认提供一个无参构造方法,若自己写了,则不再默认提供

    • 构造方法可以重载

  2. this:指代当前对象,哪个对象调用方法它指的就是哪个对象

    只能用在方法中,方法中访问成员变量之前默认有个this.

    this的用法:

    • this.成员变量名----------------------访问成员变量

      当成员变量和局部变量同名时,若想访问成员变量,则this不能省略

    • this.方法名()--------------------------调用方法(可以省略,没有什么情况下是不能省略)

    • this()------------------------------------调用构造方法(一般不用----了解)

  3. null:表示空,没有指向任何对象。

    若引用的值为null,则该引用不能进行任何点操作了,若操作则发生NullPointerException空

    指针异常。

笔记:

  1. 构造方法:构造函数、构造器、构建器---------------复用给成员变量赋初始值代码

    • 作用:给成员变量赋初始值

    • 与类同名,没有返回值类型(连void都没有)

    • 在创建(new)对象时被自动调用

    • 若自己不写构造方法,则编译器默认提供一个无参构造方法,若自己写了,则不再默认提供

    • 构造方法可以重载

  2. this:指代当前对象,哪个对象调用方法它指的就是哪个对象

    只能用在方法中,方法中访问成员变量之前默认有个this.

    this的用法:

    • this.成员变量名----------------------访问成员变量

      当成员变量和局部变量同名时,若想访问成员变量,则this不能省略

    • this.方法名()--------------------------调用方法(可以省略,没有什么情况下是不能省略)

    • this()------------------------------------调用构造方法(一般不用----了解)

    //学生类
    public class Student {
        String name; //成员变量(整个类中)
        int age;
        String address;
        //构造方法
        Student(String name,int age,String address){ //局部变量(当前方法中)
            this.name = name;
            this.age = age;
            this.address = address;
        }
    ​
        //方法
        void study(){
            System.out.println(name+"在学习...");
        }
        void sayHi(){
            System.out.println("大家好,我叫"+name+",今年"+age+"岁了,家住"+address);
        }
    }
     
    ​
    //构造方法的演示
    public class ConsDemo {
        public static void main(String[] args) {
            //Student zs = new Student(); //编译错误,Student类没有无参构造方法
            Student zs = new Student("zhangsan",25,"LF");
            Student ls = new Student("lisi",24,"JMS");
            zs.sayHi();
            ls.sayHi();
        }
    }

  3. null:表示空,没有指向任何对象。

    若引用的值为null,则该引用不能进行任何点操作了,若操作则发生NullPointerException空

    指针异常。

补充:

  1. 给成员变量赋初始值的代码写在构造方法中,其它业务代码还是去做普通方法

  2. 成员变量:写在类中方法外,作用范围为整个类

    局部变量:写在方法中(包括方法的参数),作用范围为当前方法

  3. java规定:成员变量与局部变量是可以同名的,使用的时候默认采取的是就近原则

    当成员变量和局部变量同名时,若想访问成员变量,则this不能省略

  4. 显示:?? related problems,表示有关联错误,不用管,找到编译错误位置改好就可以了

  5. 内存管理:由JVM来管理的------今天初体验,面向对象第10天详细讲解

    • 堆:存储new出来的对象(包括成员变量)

    • 栈:存储局部变量(包括方法的参数)

    • 方法区:-------------下周三讲

  6. 基本类型变量(变量)中装的是具体的数,引用类型变量(引用)中装的是对象

  7. 异常:

    • ArrayIndexOutOfBoundsException:数组下标越界异常

    • NullPointerException:空指针异常

你可能感兴趣的:(Java,java,开发语言)