Day02-面向对象

类与对象

:描述一类事物
	要在软件里面表示一个事物
	使用成员变量描述事物的属性
对象:
	一个具体的事物或个体
创建对象的语法:
	类名 变量名= new 类名();
	

构造方法

		1.方法名必须和类名一直	
	  	2.没有返回值类型
	 	3.每一个类都有一个默认的公共无参数的构造方法,一旦显示的写了构造方法以后,默认的就不存在
	  构造方法的作用:
	  	1.创建对象
	  	2.传值,创建对象的同时赋值

static关键字

static:关键字  修饰符
 * 	类里面的成员有哪些
 * 		成员变量
 *      方法
 *      内部类(暂时不研究)
 * 	成员变量:被所有对象所共享
 * 		静态成员变量:访问方式类名.字段名
 * 	方法:static修饰的方法访问方式不一样,类名.方法名();

封装

封装:使用一个修饰符private  私有的 

1.把成员变量私有化(使用private修饰)
2.给私有的成员变量提供getter 和setter方法



this

this是一个对象
thi所在的方法正在被谁调用,this就是指代哪个对象
作用:
	1.解决成员变量和局部变量的二义性
	2.在同一类中构造方法的相互调用(不适用于前面两个理论)
 注意点:在构造方法的相互调用额时候 必须写在第一行.

继承

1.继承:提高代码的复用性
2.泛化:把多个子类共同的属性和方法抽取到父类的过程
3.特化:在一个父类的基础上拓展子类特有的属性和行为
在类名后边加上 extends 关键字 类名

继承的特点:
	1.在java里面 一个类只能显示的基础一个类(单继承)
	2.java里面支持多层级继承
	3.一个类如果没有显示的继承自任何类,隐式的继承Object.
	(从多层级的思路出发 ,所有的类都是Object的子类)

子类可以继承的内容:
	非私有化的字段和方法.(从访问层面出发)

访问权限

权限表

super

super:可以看成是父类对象,但是不持有父类对象的地址
 	作用:
		1.可以区别父类属性和子类属性重名 的问题
 		2.在子类中调用父类的方法
  		3.调用父类的构造方法
  			在子类的构造方法中的第一行  super()
  			子类在创建对象的同事隐式的在调用父类无参数构造方法

多态

多态:编译时类型和运行时类型不一致的情况 ,叫做多态
坊间说法:使用父类类型(或接口) 接收其子类对象(实现类对象)


 类型的强制转换
 	大转小
  	小的数据类型 变量名=	(小的数据类型)大的数据类型;
   小转大(多态的写法)
   	

final

1.外部类:可以   ---类不可以被继承
2.普通方法:可以 --- 不能被覆写
3.成员字段:可以  ---一旦赋值不能更改(如果为引用数据类型,地址值不能更改)
4.局部变量:可以  ---一旦赋值以后不能更改(如果为引用数据类型,地址值不能更改)
5.内部类:可以 [ 暂时不学 ]
6.构造方法:不可以
发布了28 篇原创文章 · 获赞 15 · 访问量 1136

猜你喜欢

转载自blog.csdn.net/W1184394406/article/details/103761444