zoukankan      html  css  js  c++  java
  • 面向对象第一章(成员变量、局部变量、重载)

    1.什么是类?什么是对象?

    1)现实世界是由很多很多对象组成的 基于对象抽出了类

    2)对象:真实存在的单个的个体 类:类别/类型,代表一类个体

    3)类中包含:

    3.1)所有对象所共有的属性/特征----------成员变量

    3.2)所有对象所共有的行为---------------方法

    4)一个类可以创建多个对象 同一类型所创建的对象,结构相同,数据不同

    5)类是对象的模板,对象是类的具体的实例

    2.如何创建类?如何创建对象?如何访问成员?

    Student zs = new Student();

    0.方法的签名: 方法名+参数列表

    1.方法的重载(overload):

    1)发生在一个类中,方法名称相同,参数列表不同,方法体不同

    2)编译器在编译时根据方法的签名自动绑定调用的方法

    2.构造方法:

    1)给成员变量赋初值

    2)与类同名,没有返回值类型

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

    4)若自己不写构造,则默认一个无参构造方法 若自己写了构造,则不再默认提供了

    5)构造方法可以重载

    3.this:指代当前对象,哪个对象调用方法指的就是哪个对象 只能用在方法中,在方法中访问成员变量之前默认有个this.

    this的用法:

    1)this.成员变量名-------------访问成员变量

    2)this.方法名()---------------调用方法(一般不用)

    3)this()----------------------调用构造方法

    4.null:空,没有指向任何对象 若引用的值为null,则该引用不能再进行任何操作了 若操作则发生NullPointerException空指针异常

    5.引用类型之间画等号:

    1)指向同一个对象

    2)通过一个引用对数据的修改会影响另一个引用对数据的访问 eg:房子钥匙

    基本类型之间画等号:

    1)赋值

    2)对一个变量的修改不会影响另一个变量 eg:身份证复印件

    成员变量和局部变量是可以同名的 ------用的时候采用就近原则

    成员变量与局部变量同名时,this不能省略

    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);

    }

    }

    内存管理:

    由JVM来管理的

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

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

    3)方法区:存储.class字节码文件(包括方法) 堆:Aoo对象+a 栈:o+b+c 方法区:

    Aoo.class+show() main(){

    Aoo o = new Aoo();

    o.show(8);

    }

    class Aoo{

    int a;

    void show(int b){

    int c = 5;

    }

    }

  • 相关阅读:
    第五周作业_2013551605
    第四周作业_2013551605
    第三周作业
    第二周作业-2013551605-黎娜
    软件项目与过程管理第八周作业
    软件项目与过程管理第七周作业
    软件项目与过程管理第六周作业
    软件项目与过程管理第五周作业
    软件项目与过程管理第四周作业
    软件项目与过程管理第三周作业
  • 原文地址:https://www.cnblogs.com/ahaijava/p/9965716.html
Copyright © 2011-2022 走看看