面向对象第一章(成员变量、局部变量、重载)

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

1)现实世界是由不少不少对象组成的 基于对象抽出了类this

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

3)类中包含:对象

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

3.2)全部对象所共有的行为---------------方法编译器

4)一个类能够建立多个对象 同一类型所建立的对象,结构相同,数据不一样内存管理

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

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;

}

}

相关文章
相关标签/搜索