面向对象概念性的知识

1、类与对象

(1)类:是同一类事物的统称。
组成:属性对应特点,方法对应行为。
(2)对象:具体存在的事物。(万物皆对象)
设计类时,要抽离出面对的对象的共同的特点(属性)以及行为(方法)。

2、成员变量&成员方法&局部变量

(1)成员变量:
也就是全局变量。
注意点:如果全局变量未进行初始化或者赋值,就会有默认值,int:0 double:0.0 boolean:false String:null
还有一种特殊情况(数组):

public class Person {
	public static void main(String[] args) {
		int[] money = new int[5];
		for(int i=0;i<money.length;i++) {
			System.out.println(money[i]);
		}
	}
}
结果:
0
0
0
0
0

(2)成员方法:
格式:访问修饰符 返回值类型 方法名(参数列表){ }

说明:参数列表的考虑就是,如果执行这个方法,需要依赖第三方数据,就写上对应的参数。

方法的重载:方法名相同,参数列表不相同,即与参数的类型、个数、顺序有关,与参数名无关,与方法的访问修饰符及返回值类型无关。

(3)局部变量:
在成员方法内定义的变量。
注意点:
(1)局部变量在使用前需要初始化或者赋值,否则会有编译错误。
(2)注意局部变量的作用域,避免变量名的重复使用。
(3)局部变量是在方法执行时创建,在方法执行结束时被销毁。

3、构造方法

作用: 调用构造方法来创建对象。
分类: 无参构造方法和有参构造方法(可以初始化对象)
注意点:
(1)如果一个类中既没有写无参构造方法,也没有写有参构造方法,那么创建对象时默认调用无参构造方法。
(2)如果一个类里手动写上了有参构造方法,那么默认就不会调用无参构造方法。

4、对象的创建

格式: 类名 name = new 构造方法();
作用: 方便对对象的属性和方法进行操作(对象名.属性、方法)
调用属性/方法特殊的方式:
调用静态方法or属性的时候,可以不用创建对象。

public class Person {
	//静态属性
	public static int age;
	public static void main(String[] args) {
		System.out.println(age);
		print();
	}
	//静态方法
	public static void print() {
		System.out.println("abc");
	}
}

特别地, 当用“==”来比较两个对象的时候,比较的是两个对象的“地址”。每使用一次new,都会创建一个新的对象,占用新的内存空间。

5、this关键字

作用:
(1)区分成员变量和局部变量

public class Person {
	String name;
	int age;
	public Person() {
		super();
	}
	public Person(String name, int age) {
		super();//Object类
		this.name = name;
		this.age = age;
	}
}

(2)本类的对象引用,哪个对象调用的,this就表示哪一个对象。
举例:

public class Person {
	String name;
	int age;
	public Person(String name, int age) {
		super();//Object类
		this.name = name;
		this.age = age;
	}
	public static void main(String[] args) {
		String nameMain = "ff";
		int ageMain = 18;
		Person person = new Person(nameMain,ageMain);
	}
}

从内存图的角度理解:
在这里插入图片描述
(3)利用this可以在无参构造方法中调用有参构造,也可以在有参构造中调用无参构造。
举例:

public class Person {
	String name;
	int age;
	public Person() {
		this("ff",18);//必须放在第一行
		System.out.println("这是无参构造");
	}
	public Person(String name, int age) {
		//this();
		this.name = name;
		this.age = age;
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值