一、如何区分Java语言中的类和对象?
答:类是某一部分对象的总称,而对象是某一类事物的具体的某个对象。举个例子,假如有人问小朋友你最喜欢什么动物,小朋友说我最喜欢狗,特别是小明家的那条大黄狗,在这中第一个所说的狗也就是Java中的类,而大黄狗是狗这类动物中的一个具体的事物,也就是Java语言中所说的对象。
二、面向对象编程的特点
1、封装性
将对象的的属性和行为封装起来,封装的载体由类来完成,从而对用户隐藏其实现细节,这就是封装的思想。
2、继承性
所谓的继承关系就是一些事物拥有共同的属性,则这些事物的共同属性可作为“父类”,总之,如果一句话(”什么什么是什么什么,例如,篮球运动员是一种运动员)能够说通,那么他们之间就有一种继承关系
3、多态性
多态指的就是所有的具体的对象对于同一个信息会做出不同的反应。多态性主要包括重写和重载
二、继承的使用原则
子类能够继承父类中被声明为public和protected的成员变量和成员方法;如果子类中有和父类中名字相同的变量和方法,将不能继承和父类同名的变量和方法,而是实现了覆盖;子类不能继承父类中的构造方法。
三、this关键字
当局部变量和成员变量的名字相同时,成员变量就会被隐藏,这是如果想在成员方法中使用成员变量,就必须使用关键字this,其基本的使用格式如下:
this.成员变量名
this.成员方法名()
四、super关键字
super关键字主要有两种用途:
1、调用父类的构造方法
2、操作被隐藏的成员变量和被覆盖成员方法,格式如下:
super.成员变量名
super.成员方法名([参数列表])
五、抽象类
抽象类和抽象方法需要注意以下几点:
1、抽象类用abstract修饰,抽象类必须被继承或者继承抽象类的类也声明为抽象类
2、抽象类不能被实例化(也就是不能使用new关键字创建对象)
3、抽象方法只需声明,不需要实现(也就是声明方法,不能出现{ }号
4、抽象方法不能使用private和static关键字进行修饰
5、包含一个或者多个抽象方法的类必须被声明为抽象类
六、final类和final方法需要注意以下几个方面:
1、final类不能被继承,即不能有子类
2、final方法的执行效率高于非final方法
3、声明一个常量一般用static final 来修饰
七、接口
1、接口中的方法都是抽象方法(默认就是用abstract修饰的)
2、一个对象可以实现多个接口
3、接口中的方法默认被public修饰,不能用private和protected修饰
4、接口实现了java中的多继承