是不是被标题忽悠进来了哈哈哈,既然来了就别走了,相信我下面绝对让你对java面向对象更好理解(全是个人理解勿喷,欢迎大佬在下面指教)
俗话说的好,只要有new(强行补坑哈哈哈),我就可以new出来无数个对象,还能天天面向对象(妈妈再也不用担心我找不到对象,当亲戚问我有没有对象时,我直接回答:对象多的数不过来,还得天天面向对象,愁死人喽哈哈哈)好了,开始进入正题了
直接贴上代码吧哈哈哈(有点懒)
//new出对象
student a=new student();
//给对象的属性赋值
a.name="张三";
//调用方法
a.show();
(一)定义:
将对象的状态信息隐藏在对象内部(设置成private),不允许外部程序直接访问对象内部信息,⽽是通过该类所提供的⽅法来实现对内部信息的操作和访问(我们用到了封装,public的get/set方法,赋值用set,获取值用get)。
(二)目地:
1.追求高内聚,低耦合
2.隐藏类的实现细节
3.防止不合理的访问
4.保证对象信息的完整性
5.便于修改错误
(如何封装,代码如下)
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
(一)作用:
突现类重复使用的手段(通过一个类的继承,来完成各种业务的需求)。
(二)特性:
1.子类通过extends来实现对父类的继承
2.子类可以调用父类中除private的属性和方法
3.可以进行方法重写(overreide)
4.子类可以添加独有成员
5.java中的继承属于[单继承机制]
6.每个类都默认继承一个Object类(祖父类)
相信肯定会有人问java不是单继承机制嘛?两个类不发生冲突嘛?
就相当你父亲上面肯定还有你祖父,属于继承一个类,并不会发生什何冲突(Object是最原始的类)
(如何继承,代码如下)
public class Dog extends Pat{}
1.基础:
引用变量有两个类型:
(一):编译时类型:由声明变量时候使用的类型决定
(二):运行时类型:由实际赋给该变量的对象决定
2.定义:
多态就是编译时类型和运行时类型不一致
一个对象在内存中体现出多种不同的形态
3.相关问题?
强制类型转换与真实类型不区配(classCastException)
需提前使用instance of判断
想要有多态必须需要先继承
怎么使用多态,代码如下
Dog d=new Dog();
d.setName("大黄");
d.setAge("10");
d.eat();
倒是也可以这样写,但这样写是针对那些代码量少的项目(定义到类中的类叫内部类),如果代码量大那肯定就不行了,因为找bug太麻烦,必须拿出来封装写
当一个类无法满足业务的需求时,就要考虑继承了(后面内容会讲接口)
方便调用代码来完成某个业务的需求
区别:this是指当前对象,super是父类对象
相像点:
1.使用起来都一样,可以调用一般属性和一般方法
2.放置在类成员的任意位置
3.调用方法时候来回调用 可能会产生运行时错误(StackOverflowError)
后续文章更新会慢一点,因为要开始做项目了(再加上自己是组长鸭梨重大),运动会也马上开始了(得抓紧锻炼身体了哈哈哈),其实这一篇应该是昨天晚上发布出来的,由于是用手机写的刚开始写了保存了,后面有补充了许多,结果出来没保存,没办法只能重新熬夜补充,结果出来还是没有补充的内容,只能今天用电脑补充喽再发布了(结果补充了一星期),害,不过我相信一步一个脚印来,慢慢会好起来的,每天对自己说声加油(共勉吧,一起努力,顶峰见),方法竟然还可以克隆出来,这是什么神奇操作(记得收看下一篇哦哈哈哈哈)