java基础笔记006 --面向对象

java基础笔记006 --面向对象,第1张

java基础笔记006 --面向对象

java基础笔记006 --面向对象

(重要概念及遇到问题)

今日内容
1. 【理解】 什么是面向对象
2. 【理解】 类和对象的关系
3. 【掌握】 类的定义和使用
4. 【掌握】 三大特征之封装
5. 【掌握】 this关键字的使用
一、面向对象概述
  • 什么是面向对象

    面向对象是一种符合人类思维习惯的编程思想。在程序中使用对象来映射像是生活中的事物,适用对象的关系来描述事物之间的联系,这种思想就是面向对象。

  • 面向对象编程与面向过程编程相比的特点:
1. 符合了我们人类思考习惯的思想
2. 将复杂的事情进行简单化了
3. 将执行者变成了指挥者(角色发生了改变)
  • 三大特征

    封装、继承、多态

二、类和对象
  • 格式
//类
public class 类名{
    //构造函数,如:
    public 类名(){}
    
    //属性,如:
    int a = 4;
    
    //方法
    public void add(){
       ……
    }
}

//对象
类名 对象引用变量名  = new 类名(参数列表);
  • 关系
类是对一类事物的描述,是抽象的(是大量对象共性(属性、行为)的抽象)
对象是一类事物的实例,是具体的(对象是类在现实世界中的具体体现)
类是对象的模板,对象是类的实体
  • 注意
  1. 类在new 对象时,创建了对象并对属性进行了初始化(数据类型默认值)。
  • 类的存储

类被创建后,类的引用存放在栈中,new的对象存放在堆中,常量存放到常量池

不同的new生成的对象不同,在堆中存放的位置也不同,

Student s1 = new Student();
Student s2 = new Student();
//s1==s2为false
引用数据类型在比较式,除值外,还会比较引用变量存储的地址是否相等。
  • 构造方法

用来创建对象并对成员变量进行赋值的方法

无论是否定义,所有类默认提供了无参构造方法,但如果自定义构造方法,默认提供的无参构造方法就会失效。

  1. 格式
修饰符 构造方法名/类名(参数列表){ 
    // 方法体 
}
  1. 使用
构造方法只能由new 关键字能调用:
public class Student{
	int i;
	public Student(int i){
		this.i = i;
	}
}
///
Student s = new Student(4);
  1. 构造方法与普通方法比的特点
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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/3985127.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-21
下一篇 2022-10-21

发表评论

登录后才能评论

评论列表(0条)

保存