1.Java是面向对象的编程语言那么什么是面向对象?
首先,面向对象是相对于面向过程而言的,通常符合人们的思考方式,面向过程注重的是操作事物的过程及步骤,而面向对象则是将操作事物的具体方式及过程封装成了对象,当人们在处理具体事件时只要调用封装过的对象即可,由此操作者由原先的执行者转变为了指挥者。
2.类与对象之间的关系。
Java中类是对某一类事物的描述而对象则是这类事物实实在在的存在实体,Java中可以通过实例化产生对象。
3.类中的成员变量及局部变量的区别。
成员变量作用于整个类中具有默认的初始化值,局部变量作用于函数或局部语句及代码块中没有默认的初始化值;成员变量存在于堆内存中随着对象的创建而存在随着对象的消失而消失,局部变量存在于栈内存中随着所属区域的执行而存在随着所属区域的消失而消失。
4.匿名对象的特点
没有名称的对象。是对象的一种简写格式。当在对对象的方法仅一次调用时可以考虑使用匿名对象,同时匿名对象还可以作为实际参数进行传递。
5.封装
封装是Java语言的特性之一,Java为了隐藏对象的实现细节和属性从而产生了封装,这样一来并不要求操作的用户知道其实现细节只要通过程序暴露的对应方法访问信息,由此隔离了变化、提高了安全性以及代码的重用。
6.构造函数
特点:函数名与类名相同,创建对象时都必须通过相应的构造函数给对象进行初始化,构造函数有返回语句。
实现细节:当一个类中没有定义构造函数时,系统会默认的调用一个空参数的构造函数给对象初始化,当类中定义了一个自定义的构造函数时默认的构造函数就不存在了。
和一般函数的区别:和一般函数在写法上有所不同并且可以调用一般函数而一般函数不能定义构造函数;在运行上有差别,构造函数在对象一建立就会运行而且只会被调用一次而一般方法只有在被对象调用时才会运行而且可以被多从调用;当构造函数被void修饰时就变为了一般函数。
构造代码块:当要对创建的对象进行统一初始化时可以采用构造代码块,所以构造代码块中应该定义不同对象的共性初始化内容,相比之下,构造函数只用来给对应的对像进行初始化。
7.关于this
当局部变量和全局变量重名时,这时对象要想调用成员变量时可以使用this来调用,所以,this代表调用它的对象的引用,简单的说,哪个对象调用了this所在的方法那么this就代表那个对象。
用处:凡是本类功能使用到了本类对象或者描述功能时还未产生对象那么可以使用this表示,当用this调用构造函数进行相应的初始化时只能将this放在构造函数的首行,因为初始化的动作要先执行。
8.静态关键字static
用于修饰被对象所共享的成员变量和成员方法,当被static修饰后成员便多了一种被调用方式即可以直接被类名调用。
特点:随着类的加载而存在,随着类的消失而消失即生命周期较长,所以被static修饰的成员先于对象存在因而它不能访问非静态成员;被static修饰的成员存在于方法区中;可以直接被类名所调用。静态方法中不可以使用this,super 关键字。主方法(main)是静态的。
9.主函数的特点
public static void main(String[]args);
public:代表主函数的访问权限是公共的;static:说明主函数随着类的加载已经存在而且可以直接被类所调用;void:主函数没有具体的返回值;main:一个能被Java虚拟机所识别的单词;(String[]args):主函数的参数列表,其类型是一个数组类型,数组中的元素是字符串。注意的是主函数是一个能够被JVM所识别的固定格式。