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