还有一个半月就要去找工作了,哈哈虽然是应届生,但我希望找一份1.5w~1.7w的工作,那肯定得八股文不能少啊,买了一本 面试宝典 ,看看一共105页,一页大概2-3个题,按60天来算,我一天最少得看2页,理解4-6道题,时间才够…,所以加油!!!祝我好运,也祝看我分享的文章的同学们都能高薪就业!!!
时间:2022/7/20
面向对象的特征:封装、继承、多态、抽象。
封装:就是把对象的属性和行为(数据)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节,就是把不想告诉或者不该告诉别人的东西隐藏起来,把可以告诉别人的 公开,别人只能用我提供的功能实现需求,而不知道是如何实现的。增加安全性。
继承:子类继承父类的数据属性和行为,并能根据自己的需求扩展出新的行为,提高了代码的复用性。
多态:指允许不同的对象对同一消息做出相应,一个对象的多种形态。即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)。封装和继承几乎都是为多态而准备的,在执行期间判断引用对象的实际类型,根据其实际的类型调用其相应的方法。
抽象:表示对问题领域进行分析、设计中得出的抽象的概念,是对一系列看上去不同, 但是本质上相同的具体概念的抽象。在 Java 中抽象用 abstract 关键字来修饰,用 abstract 修饰类时,此类就不能被实例化,从这里可以看出,抽象类(接口)就是为了继承而存在的。
JDK(Java Development Kit)是整个 Java 的核心,是 java 开发工具包,包括 了 Java 运行环境 JRE、Java 工具和 Java 基础类库。
JRE(Java Runtime Environment)是运行 JAVA 程序所必须的环境的集合,包 含 java 虚拟机和 java 程序的一些核心类库。
JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,是整个 java 实现跨平台 的最核心的部分,能够运行以 Java 语言写作的软件程序。
重载: 发生在同一个类中,方法名必须相同,参数类型不同.个数不同.顺序不同, 方法返回值和访问修饰符可以不同,发生在编译时。
重写: 发生在父子类中,方法名.参数列表必须相同,返回值范围小于等于父类, 抛出的异常范围小于等于父类, 访问修饰符范围大于等于父类;如果父类方法访问修饰符为 private 则子类就不能 重写该方法。
== 的作用:
基本类型:比较的就是值是否相同
引用类型:比较的就是地址值是否相同
equals 的作用:
引用类型:默认情况下,比较的是地址值。 特:String、Integer、Date 这些类库中 equals 被重写,比较的是内容而不是地址!
面试题:请解释字符串比较之中 == 和 equals() 的区别?
答:
== :比较的是两个字符串内存地址(堆内存)的数值是否相等,属于数值比较;
equals():比较的是两个字符串的内容,属于内容比较
第一题:现象对象的特征
特征:多态,封装,抽象,继承
多态:简单理解为同一对象的不同形态,对于成员变量是编译看左边,运行也看左边,成员方法是编译看左边,运行看右边。也就是同一消息根据发送对象的不同而采取不同的行为方式,在执行期间判断对象的实际类型,根据其实际类型调用其相应方法。
封装:将属性跟行为整为一个独立的整体,使外界看不到其内部的实现细节,而是提供相应的方法,供外界实现需求。
抽象:是对一些看上去不同,但是本质上相同的具体概念的抽象,用abstract修饰,不能创建对象
第二题:java基础数据类型有哪些
byte,int ,short,lang,double,float,boolean,char
第三题:JDK,JRE,JVM区别
JDK:是整个java的核心,它包括java的运行环境JRE,java的基础类库还有java工具
JRE:是java的运行环境,它包括JVM,还有一些核心类库
JVM:是java最核心的部分,他能够运行使用java语言开发的软件
第四题:重载跟重写的区别
重载:在同一个类中,方法名必须相同,与返回值类型,访问权限无关,只有形参的个数,顺序,类型有关
重写:放生在继承或者实现上,方法名跟参数必须相同,返回值范围可以小于父类,异常范围小于父类,访问权限大于父类,当方法为私有时,不能重写其方法
第五题:==和equals() 区别
==:
当比较基本类型时,比较的数值,但比较引用类型的话,就是比较地址值
equals:
默认是比较的地址值,但是要是重写了equals()方法的话,就是比较内容
第一天结束!!!