首页 > 编程语言 >Java学习笔记(六)

Java学习笔记(六)

时间:2023-04-28 15:57:04浏览次数:32  
标签:Java 构造方法 笔记 学习 static 构造 修饰 方法 属性

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、什么是局部变量和全局变量?

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

标签:Java,构造方法,笔记,学习,static,构造,修饰,方法,属性
From: https://www.cnblogs.com/wgh123/p/17353758.html

相关文章

  • [ML&DL] 深度学习的实践层面
    深度学习的实践层面训练集验证集测试集过程神经网络的训练是一个需要不断迭代的过程,一般先提出idea,然后编码实现、测试,根据测试结果再次调整思路......分组与比例数据集通常分为3个部分:训练集、验证集和测试集。训练集用于训练模型的参数。验证集用于选择最好的模型。......
  • Java获取1688商品详情API接口示例说明
    ​ 在使用JavaWeb类的时候,如果我们需要获取一个网站中某个商品的详细信息,我们可以使用JavaScript来获取。我们可以用JavaScript来实现一个获取商品详情的API接口,来获取一个网站中某个商品的详细信息。在使用JavaScript进行接口请求时,可以使用下面的方法:通过javascript获......
  • 利用深度学习实现序列模型
    利用深度学习实现序列模型序列问题的含义是接收一个序列作为输入,然后期望预测这个序列的后续。例如继续预测2,4,6,8,10...。这在时间序列中是相当常见的,可以用来预测股市的波动、患者的体温曲线或者赛车所需的加速度。从原理上说,卷积神经网络可以有效处理空间信息,那么循环神经网......
  • JAVA AES 加密算法实现
    importjavax.crypto.Cipher;importjavax.crypto.spec.IvParameterSpec;importjavax.crypto.spec.SecretKeySpec;importjava.nio.charset.StandardCharsets;importjava.util.Base64;publicclassAESUtil{privatestaticfinalStringDEFAULT_KEY="hj7x......
  • 《程序员修炼之道:从小工到专家》阅读笔记十
    二十九它只是个视图不要将程序写成一个大块,而应该“分而治之”,把程序划分成模块。模块或类的一个好的定义:具有单一的,定义良好的责任。发布和订阅当我们对某个publisher生成的特定事件感兴趣,我们能做的是登记自己。publisher追踪Subscriber对象,publisher生成事......
  • Java 生成验证码
    后端:1、第一步生成验证码字符串privateStringgetCheckCode(){Stringbase="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";intsize=base.length();Randomr=newRandom();StringBuildersb=newStringBuilder();for(inti=1;i<=4;i+......
  • Could not create the Java virtual machine解决
    CouldnotcreatetheJavavirtualmachine解决原文链接:https://blog.csdn.net/weixin_42031680/article/details/118652127CouldnotcreatetheJavavirtualmachine的解决文章目录CouldnotcreatetheJavavirtualmachine的解决报错描述报错截图解决方案一:1.......
  • JavaFx 生成二维码工具类封装
    原文地址:JavaFx生成二维码工具类封装-Stars-One的杂货小窝之前星之音乐下载器有需要生成二维码功能,当时用的是一个开源库来实现的,但是没过多久,发现那个库依赖太多,有个http-client的依赖,把软件都搞大了一倍,而且有时候开发的时候下载依赖还报错,就想换个方案于是在网上......
  • 【机器学习基础】数据集的划分比例
    前言 参考1. 机器学习:训练集、验证集、测试集分配比例_ChrisKang的博客-CSDN博客;2. 数据集的划分,验证集参与训练了吗?_无枒的博客-CSDN博客;完......
  • java -jar XXX.jar 没有主清单属性以及找不到或无法加载主类的问题
    java-jarXXX.jar没有主清单属性以及找不到或无法加载主类的问题原文链接:https://blog.csdn.net/Mrzhuangr/article/details/124731024文章目录一、问题陈述二、解决方法1、方法一(问题没有真正解决)2、方法二(最终解决了问题)一、问题陈述环境:Idea2021jdk1.8......