Lesson_for_java_day08--面向对象、重载和构造函数、this关键字的使用以及八大类在全局变量初始化中的值

一、面向对象的思想、重载和构造函数、this关键字的使用

/*

-----------------------------------面向对象-----------------------------------------

什么的对象?
	1、面向对象的一种编程方法。
	2、面向对象是一种思维方式。
	3、面向对数不是一种编程语言。
	
面向对象的三大特点:封装、继承和多态。

应该如何学习面向对象?
	1、掌握一门面向对象语言的语法。
	2、掌握面向对象的思维方式。
	3、属性面向对象的设计原则。
	4、掌握面向对象的设计模式。
	
面向对象的终极目标:消除程序中的重复代码。

什么是面向对象的思维方法?
	1、首先确定谁来做,其次确定怎么做。
	2、首先考虑整体,其次考虑局部。
	3、首先考虑抽象,其次考虑具体。
	

----------------------------------重载和构造函数--------------------------------------------
	
重载的定义:(overload)
	1、两个或者多个函数在同一个类当中。
	2、函数名相同。
	3、参数列表不同
	4、重载与返回值类型无关。
	
什么时候使用重载:函数功能相同,但参与运算的未知内容不同,就使用重载。

构造函数的作用:
	1、构造函数的函数名必须与类名相同。
	2、构造函数没有返回值类型的定义。
	3、使用new来调用构造函数。
	4、如果类里面没有构造函数,编译器会自动添加一个参数为空,方法体也为空的构造函数。
	5、如果类里面已经有构造函数了,编译器不再添加构造函数。
	
构造函数与一般函数的比较:
	1、写法上不同。
	2、运行上不同:
		1、构造函数是在对象一建立就运行,给对象初始化,而一般函数在调用时才开始运行。
		2、一个对象建立,构造函数只执行一次,而方法可以被对象调用多次。
		
什么时候定义构造函数?
	当分析事物时,该事物具备一些特性或者行为,那么将这些内容定义在构造函数中。
	
注意:一个类中默认会有一个空参数的构造函数,这个默认构造函数的权限和所属类一致,如果类被public修饰,
		那么默认的构造函数也带public修饰符,如果没有,默认构造函数也没有。	
		
构造代码块:
	作用:给对象初始化,对象一建立就运行,而且优先于构造函数执行。
	与构造函数区别:
		构造代码块是给所以对象进行统一初始化,而构造函数的给对应对象初始化。
		构造代码块中定义的是不同对象共性的初始化内容。
		
举例:Person p = new Person("zhangsan",20);执行这句语句时计算机都做了什么?
	1、因为new用到了Person.class,因此先找到Person.class类并加载到内存中。
	2、执行该类中static代码块,分配内存地址。
	3、在堆内存中开辟空间,分配内存地址。
	4、在堆内存中建立对象特有属性,并进行默认初始化。(属性值为null或者为0)
	5、对属性进行显示初始化。(对属性赋值)
	6、对对象进行构造代码块初始化。
	7、对对象进行对应的构造函数初始化。
	8、将内存地址赋给栈内存中的变量p。
	
静态代码块、构造代码块、构造函数的作用:
	静态代码块是给类进行初始化的。
	构造代码块是给对象进行初始化的。
	构造函数是给对应对象进行初始化的。
		
-----------------------this关键字----------------------------------------------
		
1、this代表当前对象。
2、不能放在静态方法里面。
3、当局部变量和成员变量(全局变量)重名时,如果想访问成员变量时,用this.成员变量。
4、this调用构造方法时,需要放在构造方法内的第一行。

*/


二、八大基础数据类型在全局变量中的初始化值


/*
  变量的范围:
	1、全局变量:类内部、方法的外部。全局变量有默认值,类加载时会自动初始化
	2、局部变量:方法内部。没有默认值,要使用时,必须初始化
 */
public class TestRang {

	static byte b1;
	static char c1;
	static short s1;
	static int i1;
	static long l1;
	static float f1;
	static double d1;
	static boolean b;
	static String s;//
	
	public static void main(String[] args){
		System.out.println("byte:" + b1);
		System.out.println("char:" + c1);
		System.out.println("short:" + s1);
		System.out.println("int:" + i1);
		System.out.println("long:" + l1);
		System.out.println("float:" + f1);
		System.out.println("double:" + d1);
		System.out.println("boolean:" + b);
		System.out.println("String:" + s);
	}
	/*
	 *  打印结果:
		 	byte:0
		 	char:
		 	short:0
		 	int:0
			long:0
			float:0.0
			double:0.0
			boolean:false
			String:null
	 */
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值