还没有对象?没关系,我们可以new一个对象

面向对象
	面向对象和面向过程之间的区别
	面向对象和面向过程都是一种思想,一种思维方式
	面向过程
		" 我应该如何实现?"然后一步一步实现就可以了
	面向对象
		" 我应该找谁来完成?" 不关注对象如何实现,只关注对象
	面向对象的优点
		更贴合与现实生活
		面向对象体现与管理者,面向过程体现与执行者
		可以复杂的问题简单化
	如何使用面向对象的思维方式进行编程
		提供了两个概念实现面向对象编程: 类   对象
		类:->自定义的类  一些列事物的模板,一些列事物抽象出来的共性,吧这些共性定义为自定义类|模板类
		对象:现实生活中真实存在的事物,构建需要根据对象的图纸|模板类构建对象
	自定义类
		public class 类名{
		//成员变量
		修饰符 数据类型 变量名 =赋值;
		//成员方法
		public 返回值类型|void 方法名(参数列表){
		...
		}
		}
 构造器
	特殊的方法,作用就是用来为对象初始化对象信息,不是用来创建对象
	new做3件事情
		堆中开辟空间,成员属性跟随对象进入堆内存并附默认值
		调用构造器为对象初始化信息
		将地址返回给引用
	定义
		修饰符  类名([参数列表]){
		....
		}
		构造器没有返回值,不需要void,可以写return但是不必要
	 使用
		只能跟随new一起使用,没有办法调用
		构造器不能和static,fianl,abstract一起使用
	如果没有自定义构造器,编译器会自动为你添加一个空构造
	如果存在自定义构造器,编译器都不会再为你提供任何构造器
	构造器也是方法,可以构造器的重载,根据创建对象后面的()-->构造器的参数列表
this关键字
	this指代当前对象(new的对象),代表对象的地址
	调用本类中的其他构造器
		this([参数列表]);
		要求再构造器的首行使用this调用其他构造器
		两个构造器不能相互调用,会造成死循环
	区分同名变量问题
		区分成员变量和局部变量之间同名的问题
		构造器中区分成员变量和参数之间同名问题.默认就近原则,如果调用成员,this.属性名,因为this中存放的是当前调用构造器的对象的地址
		this再成员方法中指代当前调用成员方法的对象
		如果不存同名变量问题,在使用成员变量的时候默认前面省略了this,this可以省略

猜你喜欢

转载自blog.csdn.net/weixin_45116982/article/details/90722431