Java学习笔记(六)

wgh123 / 2023-04-28 / 原文

1、什么是JavaBean

  • 类是公共的
  • 有一个无参的公共的构造器
  • 有属性,且有对应的get、set方法

     

 2、对单例模式的理解

单例模式分为两种:

 这种方式叫做饿汉式,是在类加载的时候就直接将对象创建了出来。

还有一种懒汉式

 懒汉式是在用到实例对象的时候才会将对象创建出来。但是线程不安全。

3、对代码块的理解

代码块执行顺序:
最先执行静态块,只在类加载的时候执行一次,所以一般以后实战写项目:创建工厂,数据库的初始化信息都放入静态块。
一般用于执行一些全局性的初始化操作。

再执行构造块,(不常用)
再执行构造器,
再执行方法中的普通块。

4、static关键字的理解

static表示静态的,可以修饰属性、方法、代码块、内部类以及实现静态导入。

static修饰属性:
(1)在类加载的时候一起加载入方法区中的静态域中
(2)先于对象存在
(3)访问方式: 对象名.属性名 类名.属性名(推荐)

static修饰属性的应用场景:某些特定的数据想要在内存中共享,只有一块,这个情况下,就可以用static修饰的属性

static修饰方法:方法用作工具的时候用static修饰

5、this为啥要放在构造方法第一行

要对关键信息进行初始化。

 

 

6、     请简述你对封装的理解?

封装就是隐藏类的内部信息(属性和方法),不允许外部程序直接访问,而是通过公有的方法才能完成访问(赋值方法get()和取值方法set())

之所以进行封装,是因为防止类的内部信息因为外部程序直接访问而造成的信息错乱。

封装时用private进行封装,对属性进行封装时,需要设置set和get方法,

以便在其他类中进行访问,而封装的方法则只能在本类使用。

7、请简述你对构造方法的理解?

构造方法是一个特殊的方法,主要特殊点如下

构造方法的名字与类的名字一致

它不声明返回值类型。(与声明为void不同)

不能被static、final、synchronized、abstract、native修饰,

不能有return语句返回值

有参构造能够完成对属性的赋值操作,无参构造能够用来创建对象。

8、请简述你对构造方法重载的理解?

构造方法的重载是指在同一个类中,有多个构造方法,他们的名称相同,只是参数列表不同,

是为了能够在初始化对象时能够更加灵活。

9、请谈谈你对this关键字的理解

This关键字在构造方法中可以解决成员变量名(全局变量名)和局部变量名相同的问题。

this在Java中代表的是当前对象,也就是说:当前谁调用这个方法则这个对象就是谁

this关键字可以访问本类中的实例变量、实例方法以及本类中的构造方法

可以在类的构造器中使用"this(形参列表)"的方式,调用本类中重载的其

它的构造器!

 

明确:构造器中不能通过"this(形参列表)"的方式调用自身构造器

 

如果一个类中声明了n个构造器,则最多有 n - 1个构造器中使用了

"this(形参列表)"

 

"this(形参列表)"必须声明在类的构造器的首行!

 

在类的一个构造器中,最多只能声明一个"this(形参列表)"

 

10、请谈谈你对static关键字的理解

  • static表示静态的
  • 可以修饰属性、方法、代码块、内部类以及实现静态导入

 

11、什么是局部变量和全局变量?

全局变量是定义在类中的变量,也叫成员变量。局部变量是定义在方法中的变量。