1.什么是类?什么是对象?
类是对象的抽象,对象是类的实例化。
2.构造方法作用?
构造方法是用来初始化对象的,方法名与类名相同。
可以自动生成,但是写了有参的要注意写上无参的。
3.写一个类?
1.根据类的静态属性,写几个成员方法,注意突出特征;
2.写两个构造方法,一个有参,一个无参(Alt+Shift+s-->...using Fieds...);
3.根据行为写几个方法;
4.快捷键生成toString方法(Alt+Shift+s-->toString);
4.引用数据类型做参数传递的特点?
引用数据类型是存储在堆内存中的,且是无序随机的,而当参数进行传递的时候是值传递,
即内存地址的传递,所以只要没有new一个新的地址,形参的改变都会引起实参一起改变。
5.包的命名规则?
域名倒置,不能以数字开头。
wdd9527.blog.csdn.net-->net.csdn.blog.wdd9527
6.权限修饰符的范围?
略;
7.什么时候将类设计成javabean?
设计类的时候只关心数据类型,而不关心行为方法。
8.Javabean书写?
1.private私有化属性;
2.自动生成两个构造方法;
3.需要的行为;
4.get()和set()方法;
5.toString()方法;
9.非静态方法可以发起对静态方法的调用么?反之呢?原因?
非静态方法可以调用静态方法(用类去调用的),反之不行,因为先有类再有对象,
但是有对象,就一定有类。
10.多态?
多态就是指不同的对象对同一动作的不同状态。
实现条件:1.必须有继承关系;
2.必须实现方法的重写;
3.父类引用指向子类对象;
11.向上转型?向下转型?
向上转型:父类引用指向子类对象就叫做向上转型,可以直接转,降低了代码的冗余性,
提高了代码的可复用性,但会隐藏子类特有的属性和方法。
向下转型:当需要找回子类被隐藏的属性和方法时,就需要向下转型,且需要强转,
并且用instanceOf判断是否可以强转。
12.==和.equals的区别?
== 判断的是引用的内存地址是否相同,一般用作基本数据类型的判断;
.equals判断的是引用数据类型,底层用的是 == ,要是只想判断内容是否相同,需要重写。
13.final修饰属性和方法的特点?
final修饰属性的时候,表示这个属性无法被修改,一般表示常量;
final修饰方法的时候,表示这个方法最终就是这样,无法被重写;
final修饰类的时候,表示这个类无法被继承;
14.抽象类?
abstract修饰的类
抽象方法必定存在抽象类中,并且必须要被非抽象子类重写,没有方法体。
但是抽象类中不一定必须有抽象方法。