10

1:代码块是什么?代码块的分类和各自特点?

在Java中,用{}括起来的被称为代码块。

分类:根据其位置和声明的不同,可以分为局部代码块、构造代码块、静态代码块、同步代码块。

(1)       局部代码块:在方法中出现;限定变量生命周期,及早释放、提高内存利用率。

(2)       构造代码块:在类中方法外出现;多个构造方法中相同的代码存放在一起,每次调用构造都执行,并且在构造方法前执行。

(3)       静态代码块:在类中方法外出现,static关键字修饰,用于给类进行初始化,在类加载的时候就执行,并且只执行一次。一般用于加载驱动。位于主方法类中的静态代码块,优先于主方法执行。

2:静态代码块,构造代码块,构造方法的执行流程?

优先级从高到低:静态代码块、构造代码块、构造方法。

3:继承概述

让类与类之间产生关系,子父类关系

4:继承的好处

(1)提高了代码的复用性(2提高了代码的维护性(3)让类与类之间产生关系,是多态的前提。

5:Java中继承的特点

Java只支持单继承,不支持多继承,但支持多重继承。

6:Java中继承的注意事项?以及我们什么时候使用继承?

(1)       子类只能继承父类所有非私有成员,(成员方法和成员变量)

(2)       子类不能继承父类的构造方法,但可以通过super关键字访问父类中的构造方法

(3)       不要为了部分功能去继承。

继承体现的是一种is a 的关系。如果有两个类A,B,只要符合A是B的一种,或者是B是A的一种,就可以考虑继承。

7:继承中的成员访问特点

         A:成员变量

                   在子类方法中访问一个变量

         B:成员方法

                   在测试类中通过子类对象去访问一个方法

 

8:继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?

子类中所有的构造方法默认都会访问访问父类中空参的构造方法。默认会有super();

9:面试题:

         方法重写和方法重载的区别?方法重载能改变返回值类型吗?

         Overload  重载  方法名称相同,参数的类型和个数不同,对权限没要求,发生在一个类中。

         Override  重写  方法名称、参数类型、返回值类型全相同。被重写的方法不能拥有更严格的权限。发生在继承类中。

 

         this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用。

this:代表当前对象的引用,super代表当前对象父类的引用。

(1)       调用成员变量

this.成员变量  可以调用本类的成员变量,也可以调用父类的成员变量。

super.成员变量  调用父类的成员变量。

(2)       调用构造方法

this()  调用本类的构造方法

super()调用父类的构造方法

(3)       调用成员方法

this成员方法 调用本类的成员方法,也可以调用父类的方法

super.成员方法  调用父类的成员方法

10:继承案例练习

1:代码块是什么?代码块的分类和各自特点?

在Java中,用{}括起来的被称为代码块。

分类:根据其位置和声明的不同,可以分为局部代码块、构造代码块、静态代码块、同步代码块。

(1)       局部代码块:在方法中出现;限定变量生命周期,及早释放、提高内存利用率。

(2)       构造代码块:在类中方法外出现;多个构造方法中相同的代码存放在一起,每次调用构造都执行,并且在构造方法前执行。

(3)       静态代码块:在类中方法外出现,static关键字修饰,用于给类进行初始化,在类加载的时候就执行,并且只执行一次。一般用于加载驱动。位于主方法类中的静态代码块,优先于主方法执行。

2:静态代码块,构造代码块,构造方法的执行流程?

优先级从高到低:静态代码块、构造代码块、构造方法。

3:继承概述

让类与类之间产生关系,子父类关系

4:继承的好处

(1)提高了代码的复用性(2提高了代码的维护性(3)让类与类之间产生关系,是多态的前提。

5:Java中继承的特点

Java只支持单继承,不支持多继承,但支持多重继承。

6:Java中继承的注意事项?以及我们什么时候使用继承?

(1)       子类只能继承父类所有非私有成员,(成员方法和成员变量)

(2)       子类不能继承父类的构造方法,但可以通过super关键字访问父类中的构造方法

(3)       不要为了部分功能去继承。

继承体现的是一种is a 的关系。如果有两个类A,B,只要符合A是B的一种,或者是B是A的一种,就可以考虑继承。

7:继承中的成员访问特点

         A:成员变量

                   在子类方法中访问一个变量

         B:成员方法

                   在测试类中通过子类对象去访问一个方法

 

8:继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?

子类中所有的构造方法默认都会访问访问父类中空参的构造方法。默认会有super();

9:面试题:

         方法重写和方法重载的区别?方法重载能改变返回值类型吗?

         Overload  重载  方法名称相同,参数的类型和个数不同,对权限没要求,发生在一个类中。

         Override  重写  方法名称、参数类型、返回值类型全相同。被重写的方法不能拥有更严格的权限。发生在继承类中。

 

         this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用。

this:代表当前对象的引用,super代表当前对象父类的引用。

(1)       调用成员变量

this.成员变量  可以调用本类的成员变量,也可以调用父类的成员变量。

super.成员变量  调用父类的成员变量。

(2)       调用构造方法

this()  调用本类的构造方法

super()调用父类的构造方法

(3)       调用成员方法

this成员方法 调用本类的成员方法,也可以调用父类的方法

super.成员方法  调用父类的成员方法

10:继承案例练习

1:代码块是什么?代码块的分类和各自特点?

在Java中,用{}括起来的被称为代码块。

分类:根据其位置和声明的不同,可以分为局部代码块、构造代码块、静态代码块、同步代码块。

(1)       局部代码块:在方法中出现;限定变量生命周期,及早释放、提高内存利用率。

(2)       构造代码块:在类中方法外出现;多个构造方法中相同的代码存放在一起,每次调用构造都执行,并且在构造方法前执行。

(3)       静态代码块:在类中方法外出现,static关键字修饰,用于给类进行初始化,在类加载的时候就执行,并且只执行一次。一般用于加载驱动。位于主方法类中的静态代码块,优先于主方法执行。

2:静态代码块,构造代码块,构造方法的执行流程?

优先级从高到低:静态代码块、构造代码块、构造方法。

3:继承概述

让类与类之间产生关系,子父类关系

4:继承的好处

(1)提高了代码的复用性(2提高了代码的维护性(3)让类与类之间产生关系,是多态的前提。

5:Java中继承的特点

Java只支持单继承,不支持多继承,但支持多重继承。

6:Java中继承的注意事项?以及我们什么时候使用继承?

(1)       子类只能继承父类所有非私有成员,(成员方法和成员变量)

(2)       子类不能继承父类的构造方法,但可以通过super关键字访问父类中的构造方法

(3)       不要为了部分功能去继承。

继承体现的是一种is a 的关系。如果有两个类A,B,只要符合A是B的一种,或者是B是A的一种,就可以考虑继承。

7:继承中的成员访问特点

         A:成员变量

                   在子类方法中访问一个变量

         B:成员方法

                   在测试类中通过子类对象去访问一个方法

 

8:继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?

子类中所有的构造方法默认都会访问访问父类中空参的构造方法。默认会有super();

9:面试题:

         方法重写和方法重载的区别?方法重载能改变返回值类型吗?

         Overload  重载  方法名称相同,参数的类型和个数不同,对权限没要求,发生在一个类中。

         Override  重写  方法名称、参数类型、返回值类型全相同。被重写的方法不能拥有更严格的权限。发生在继承类中。

 

         this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用。

this:代表当前对象的引用,super代表当前对象父类的引用。

(1)       调用成员变量

this.成员变量  可以调用本类的成员变量,也可以调用父类的成员变量。

super.成员变量  调用父类的成员变量。

(2)       调用构造方法

this()  调用本类的构造方法

super()调用父类的构造方法

(3)       调用成员方法

this成员方法 调用本类的成员方法,也可以调用父类的方法

super.成员方法  调用父类的成员方法

10:继承案例练习

class Demo_Extends {
	public static void main(String[] args) {
		Cat c = new Cat();
		c.color = "白";
		c.leg = 4;
		System.out.println(c.color + "..." + c.leg);
		c.eat();
		c.sleep();
	}
}

class Animal {
	String color; 
	int leg;		
	String name;
	
	public void eat() {
		System.out.println("猫吃饭");
	}
	public void sleep() {
		System.out.println("猫睡觉");
	}
}
class Cat extends Animal {

}

 

11:final关键字可以干什么?有什么特点?

完结器。可以用final关键字声明类、方法、属性。使用final声明的类不能有子类,使用final声明的方法不能被子类覆写,使用final修饰的量为常量,不可修改

12:final关键字的面试题?

         A:修饰局部变量

基本类型,值不能被改变;引用类型,地址值不能改变,对象中属性可以改变。

         B:初始化时机

显示初始化

在对象构造完毕前即可。

 

posted @ 2018-07-13 18:35  Object,  阅读(189)  评论(0编辑  收藏  举报