
java基础笔记006 --面向对象
(重要概念及遇到问题)
今日内容1. 【理解】 什么是面向对象 2. 【理解】 类和对象的关系 3. 【掌握】 类的定义和使用 4. 【掌握】 三大特征之封装 5. 【掌握】 this关键字的使用一、面向对象概述
- 什么是面向对象
面向对象是一种符合人类思维习惯的编程思想。在程序中使用对象来映射像是生活中的事物,适用对象的关系来描述事物之间的联系,这种思想就是面向对象。
- 面向对象编程与面向过程编程相比的特点:
1. 符合了我们人类思考习惯的思想 2. 将复杂的事情进行简单化了 3. 将执行者变成了指挥者(角色发生了改变)
- 三大特征
封装、继承、多态
- 格式
//类
public class 类名{
//构造函数,如:
public 类名(){}
//属性,如:
int a = 4;
//方法
public void add(){
……
}
}
//对象
类名 对象引用变量名 = new 类名(参数列表);
- 关系
类是对一类事物的描述,是抽象的(是大量对象共性(属性、行为)的抽象) 对象是一类事物的实例,是具体的(对象是类在现实世界中的具体体现) 类是对象的模板,对象是类的实体
- 注意
- 类在new 对象时,创建了对象并对属性进行了初始化(数据类型默认值)。
- 类的存储
类被创建后,类的引用存放在栈中,new的对象存放在堆中,常量存放到常量池
不同的new生成的对象不同,在堆中存放的位置也不同,
Student s1 = new Student(); Student s2 = new Student(); //s1==s2为false 引用数据类型在比较式,除值外,还会比较引用变量存储的地址是否相等。
- 构造方法
用来创建对象并对成员变量进行赋值的方法
无论是否定义,所有类默认提供了无参构造方法,但如果自定义构造方法,默认提供的无参构造方法就会失效。
- 格式
修饰符 构造方法名/类名(参数列表){
// 方法体
}
- 使用
构造方法只能由new 关键字能调用:
public class Student{
int i;
public Student(int i){
this.i = i;
}
}
///
Student s = new Student(4);
- 构造方法与普通方法比的特点
1.构造方法没有返回值类型 2.构造方法方法名必须是类名 3.构造方法的参数列表来源于类的成员变量三、this关键字
-
当类中方法中定义了和成员变量名相同的局部变量时,采用this.属性名,加以区分。
-
根据就近原则,this关键在在那个类中就表示那个类的对象的引用。
-
this关键字调用构造方法时,this(参数); ,可在自定义构造方法中使用this关键字实现构造方法间调用。
//构造方法间调用
public class A {
int number;
public A(int a){
//有参调用无参构造
this();
System.out.println("有参构造函数执行了……");
}
public A(){
System.out.println("无参构造函数执行了……");
}
public void aa(){
System.out.println("属性a="+number);
}
}
public class Test4 {
public static void main(String[] args) {
A a = new A(2);
a.aa();
}
}
//输出结果
无参构造函数执行了……
有参构造函数执行了……
属性number=0
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)