进阶学习======面试考题

                                                                      面向对象:

用代码高度去模拟显示世界,以便为人类业务服务。

java是一种面向对象的高级编程语言。

类:是描述相同事物的共同特征的抽象

对象:是具体存在的实例,是真实的,实例==对象

代码层面:必须现有类才能创建出对象。

定义格式:

修饰符:class 类名{

}

一个代码文件中可以定义多个类,但只有一个类是用public修饰的,而且public修饰的类名必须跟代码文件名称 一样。

类中的五大成分:成员变量:、成员方法、构造器、代码块、内部类

                                                                this关键字

this 代表了当前对象的引用

this关键字可以用在实例方法和构造器中

this用在方法中,谁调用这个方法,this就代表谁

this用在构造器,代表了构造器正在初始化的那个对象的引用。

=        ==============================================================

                                                        封装回顾

面向对象三大特征:封装、继承、多态

封装:1.提高安全性        2.可以实现代码的组件化

提供成套的get,set,方法,暴露成员变量的取值赋值

public修饰符,是公开的  公交车的意思

封装核心思想:合理隐藏,合理暴露。

封装已经成为java代码的风格习惯,即使没有任何意义,还是要按照封装的规范些代码 

成员变量私有,提供get,set方法,没有道理,这就是代码封装的风格

===========================================================================

                                                        static关键字描述

                static == 静态== 修饰的成员(方法和成员变量)属于类本身

按照有无static修饰,成员变量和方法可以分为:

成员变量:

(一)静态成员变量(类下的变量):

有static修饰的成员变量成为静态成员变量,也叫类变量,属于类本身是可以直接用类名.什么访问

(二)实例成员变量

无static修饰的成员变量称为实例成员变量,属于类的 每个对象的,必须用new类的对象来访问

成员方法:

(一)静态方法

有static修饰,属于类本身,可以直接访问

(二)实例方法

无static修饰称为实例方法,需通过new类的对象来访问

小结:

有static修饰的类叫静态成员变量,与类一起加载一次,直接用类名调用即可

无static修饰的类,类的每个对象叫实例成员变量;它与类的对象一起加载, 对象有多少个,实例成员变量就加载多少份,必须用类的对象调用

有static修饰的属于类叫静态方法,直接用类名调用

无static修饰的属于类的每个对象的 叫实例方法,必须用类的对象调用

=================================================

                                                成员变量的分类和访问

静态成员变量有static修饰,属于类本身,与类加载一次。不建议用对象访问静态成员变量

                                                        

                                                           面试问题

八种访问形式的问答:

a.实例方法是否可以直接访问实例成员变量?         可以的!因为它们都属于对象。

b.实例方法是否可以直接访问静态成员变量?        可以的!静态成员变量可以被共享访问。

c. 实例方法是否可以直接访问实例方法?                可以的!实例方法和实例方法都属于对象。

d. 实例方法是否可以直接访问静态方法?                可以的!静态方法可以被共享访问

--------------------------------

a.静态方法是否可以直接访问实例变量?          不可以! 实例变量必须要用对象来访问

b.静态方法是否可以直接访问静态变量?         可以的,,静态成员变量可以被共享访问。

c.静态方法是否可以直接访问实例变量?        不可以!实例方法必须要用对象访问。

d.静态方法是否可以直接访问静态方法?        可以的,静态方法可以被共享访问。

========================================================

                                                        继承的概述和继承格式

继承是java中一般到特殊的关系,是一种子类到父类的关系。

被继承的类称为 父类this        超类super

去继承父类的类称为:子类

====================================================

                                        基础的使用和案例

父类

                                                        学生类


老师类

结果

                                                        继承的使用案例

1.构造方法不会继承,因为子类有子类的构造器父类有父类的,不相干、

2.父类的成员变量只要不是私有的(private)子类就不能继承---其实子类是有父类的私有变量的 只是访问不了,有高级方法现在没意义学

3.父类的静态成员属性和静态方法是能被继承的, 但是 其实并不是继承,而是共享,因为静态类在加载的时候只加载一次,子类继承父类的静态public东西

是共享给子类的,

小结:

引入:
子类继承父类,子类就得到了父类的属性和行为。
但是并非所有父类的属性和行为等子类都可以继承。
子类不能继承父类的东西:
子类不能继承父类的构造器:子类有自己的构造器。(没有争议的)
有争议的观点(拓展):
子类是否可以继承父类的私有成员(私有波员变量,私有成员方法)?
+-我认为子类是可以继承父类的私有成员的,只是不能直接访问而已。
--以后可以暴力去访问继承自父类的私有成员~~~
子类是否可以继承父类的静态成员?
--我认为子类是不能继承父类的静态成员的,
—-子类只是可以访问父类的静态成员,父类的静态成员只有一份可以被子类共享访问。
共享并非继承。

                                        继承后的特点————成员变量

​​​​​​​

小结:就近原则:
子类有就找子类,子类没有找父类,父类没在就报错
this 代表当前对象的引用,
super 代表当前类的引用,在继承中可以访问到最高继承中父类变量

*/

                        

                                方法重写

以pravite修饰的方法叫私有方法父子类都

以static修饰的静态方法不能重写

不能重写

封装:代码的安全和组件化

继承:提高代码复用性,减少冗余

多态:右边对象可以实现组件化 切换,业务功能也随之改变,便于拓展和维护 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值