面向对象
2019-09-29 18:00 老九君 阅读(161) 评论(0) 编辑 收藏 举报面向对象
1.面向对象语言的特点:
抽象,封装,继承,多态
抽象:提取出一系列事务具有的普遍特征和动作。比如一个车子类,它们具有的共同特征是:品牌,耗油量,排放量......,具有的共同行为是:启动,刹车,减速......
封装:将这一系列特征和行为用一个类将它们概括起来。
2.关于类图:
变量名:类型
方法名:类型
黄色是变量,绿色是方法
+号是公有的,-号是私有的
3.关于面向对象:
1.面向对象可重用,可维护
2.类和对象内方法不用加static
3.类和对象都放在堆内存,但是类不是实体化,所以没有内存空间,而对象实例化了,所以占内存空间
4.关于抽象:
●自底向上的抽象(新手常用)
●自顶向下进行分解抽象
4.this关键字:
this.意思为这个类的
在Java中this可以完成三件事情:表示本类属性,表示本类方法,当前对象。
在类中定义方法,并且需要返回值时,如果没有从外界传来与这个类中定义的变量重名的形参时,可以直接返回变量名,否则要在前面加上this.,代表是这个类的变量
5.构造方法:
1.没有fan返回值类型
2名称与类名一致
3.可以指定参数及实现重载
4.注意隐式构造和参数化构造不能共存
●隐式构造在实例化对象的时候会默认执行,即使不写出来
●一旦声明参数化构造构造后,隐式构造就会消失,如果二者都想用,这时隐式构造就要写出来了
构造方法链:
写一个完全的方法,用一些不完全的方法调用比自己完全的方法
this可以代表这个类名,构造方法只能调用一次
问:为什么random()的括号内加Integer.MAX_VALUE不会报错,而加Long.MAX_VALUE会报错
答: 因为nextLong()方法没有重载,只有无参版本的方法
老九学堂会员社群出品