javaOOP基础总结
类和对象
1.类和对象的关系
1.类
简单来说:类是抽象的,是对对象的抽象。
具体来说:类是对现实生活中一类具有共同特征的事物的抽象,实质是一种复杂的数据类型,不存在于内存中,不能被直接操作,只有被实例化为对象时,才会变得可操作。
2.对象
简单来说:对象也是抽象的,是对客观事物的抽象。又是具体的,是类实例化的结果。
具体来说:对象是人们要进行研究的任何具体事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。
3.类是对象的概括,对象是类的具体体现
根据一类对象进行概括,将对象的特征概括为属性,将对象的行为概括为方法,将这一类对象用一个类表示 — 类是对象的概括/抽取,通过new关键字来创建这个对象,然后可以给对象中的属性赋值,也可以调用方法
2.成员变量和局部变量
局部变量和成员变量
1.定义的位置不一样:
1) 局部变量:在方法的内部
2) 成员变量: 在方法的外部,直接写在类当中
2.作用范围不一样:
1) 局部变量:只有方法当中才可以使用,出了方法就不能再用了
2) 成员变量:整个类全都可以使用
3.默认值不一样:
1) 局部变量:没有默认值,如果想要使用,必须手动进行赋值
2) 成员变量:如果没有赋值,会有默认值,规则和数组一样。
4.内存位置不一样:
1) 局部变量:位于栈内存
2) 成员变量:位于堆内存
5.生命周期不一样:
1) 局部变量随着方法进栈而诞生,随着方法的出栈而消失
2) 随着对象的创建而诞生,随着对象被垃圾回收而消失
构造方法
语法:
构造方法的重载:
java可以向C#一样,通过无参或带参数的构造方法(Constructor)完成赋值的初始化。
在Penguin类中增加一个无参的构造方法Penguin(),如下:
/**
* 宠物企鹅类,测试无参构造方法
*/
public class Penguin{
String name = "无名氏"; //昵称
int health = 100; //健康值
int love =