Java基础知识总结

类与对象的关系:

1、类是一类具有相同属性的事物的统称,是一种抽象。

2、对象是类的具体体现,又称实例。

3、类是一种静态的概念,而对象是一种动态的机制。

属性:

Java中的属性一般分为类属性(静态变量)、实例属性(成员变量)、局部变量

类属性:声明为static的属性,在整个过程中只进行一次初始化,在内存中只开辟一个空间,不论在哪儿调用,值保持一致。一旦被修改,所有引用它的地方都会跟着修改。一般直接通过类名进行调用。

实例属性:实例属性即成员变量,成员变量不属于任何方法,是属于类的变量,可以不初始化,有默认的初始值,如String的是null,int的是0。

局部属性:在方法内部定义的变量,声明周期在方法内部,局部变量必须初始化后再进行使用

成员变量和局部变量的区别

①在类中的位置不同:成员变量在类中方法外;局部变量在方法定义中或者方法声明上

②在内存中的位置不同:成员变量在堆内存,是随着对象的创建在堆内存中开辟空间;局部变量在栈内存

③生命周期不同:成员变量随着对象的创建而存在,随着对象的消失而消失;局部变量随着方法的调用为存在随着方法的调用完毕而消失

④初始化值不同:成员变量有默认初始化值,局部变量没有默认初始化值,必须定义赋值然后使用。

【栈内存的变量是局部变量必须声明初始化值来使用,而堆内存中的变量有默认值】局部变量的名字可以和成员变量的名字相同,在方法中使用的时候采用的是就近原则

类属性(静态变量)和成员变量的区别:

①所属不同:静态变量属于类--类变量;成员变量属于对象--实例变量(对象变量)

②内存中的位置不同:静态变量存储于方法区中的静态区;成员变量存储于堆内存

③内存中出现的时间不同:静态变量随着类的加载为加载,随着类的消失而消失;成员变量随着对象的创建而创建,随着对象的消失而消失

④调用不同:静态变量可以通过类名调用也可以通过对象名调用;成员变量只能够通过对象名调用


方法:

类的功能,由方法头和方法体构成。方法头由访问控制符(public private)、返回类型、方法名和参数列表。可以为方法添加一些特殊的关键字以实现特殊的功能,如synchronized、final、static、abstract等等。

重载(overload)和重写/覆写(override):

重载:同一个类中,具有相同的方法名以及不同的参数列表的一种机制:参数列表的不同具体表现在:参数的数目、类型以及参数的顺序不同。【不能够通过方法的返回值来区分两个方法】

重写:

重写是在继承中存在的,在两个类中(子类和父类)。子类重写父类的方法,方法名以及参数都相同


面试例题总结:

①面向对象和面向过程的区别?

②构造器Constructor是否可被override?点击打开链接

    构造器不能够被继承,所以不能被重写,但是可以进行重载。构造器是在生成一个类的实例的时候对这个类的实例进行初始化的。构造器不是方法所有对方法使用的都不适用于他。

③String类能否被继承?

    不能,因为String类是由final关键字进行修饰的,他的定义是:public final class String extends Object。

--》什么样的类不能够被继承?

    一,在Java中,只要是被定义为final的类,也可以说是被final修饰的类,就是不能被继承的。

 二,final是java中的一个关键字,可以用来修饰变量、方法和类。用关键词final修饰的域成为最终域。用关键词final修饰的变量一旦赋值,就不能改变,也称为修饰的标识为常量。如果一个类的域被关键字final所修饰,它的取值在程序的整个执行过程中将不会改变。

 三,假如说整个类都是final,就表明自己不希望从这个类继承,或者不答应其他任何人采取这种操作。换言之,出于这样或那样的原因,我们的类肯定不需要进行任何改变;或者出于安全方面的理由,我们不希望进行子类化(子类处理)。

④override和overload之间的区别?

重载是在同一个类中,方法名相同而方法列表不同的方法之间的一种机制

重写是在继承中存在,子类重写父类的方法,具有相同的方法名和参数。

⑤Java的四个基本特性?

继承、封装、多态、抽象--(具体?)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值