java学习笔记(8.3-8.9)

this语句

static关键字(非访问控制修饰符)

一个类可以包含以下类型变量:

局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。

类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。


int数据类型转换成数组

将int类型转换成数组

int数组转换成int类型

在这里插入图片描述


String类split方法
返回的是一个String数组(删除指定元素的数组)
public String[] split(String regex)
在这里插入图片描述

public String[] split(String regex, int limit)

limit参数控制应用模式的次数,因此影响生成的数组的长度。 如果极限n大于0,则模式最多应用n -1次,数组的长度不大于n ,数组的最后一个条目将包含超出最后一个匹配分隔符的所有输入。 如果n是非正的,那么模式将被应用到尽可能多的次数,并且数组可以有任何长度如果n为0,则模式将被应用尽可能多次,数组可以有任何长度,并且尾随的空字符串将被丢弃。

在这里插入图片描述


System.exit(0);

System.exit(0);
作用:JVM退出,即退出所有循环

\t相当于按了一个Tab键的位置

注意:在输出语句中 \t 可以不用单独拿+隔开

局部变量

在这里插入图片描述

局部变量没有默认值,所以局部变量被声明后,必须经过初始化才可以使用。


实例变量

  • 实例变量声明在一个类中,但在方法、构造方法和语句块之外;
  • 实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
  • 实例变量可以声明在使用前或者使用后;
  • 访问修饰符可以修饰实例变量
  • 实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;
  • **实例变量具有默认值。**数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;

形参和实参

形参变量只有在被调用时才分配内存单元, 在调用结束时, 即刻释放所分配的内存单元 。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。

  • 引用传递

引用传递:是指在调用函数时,将实际参数的地址传递到函数中,那么在函数中对参数进行修改,将会影响到实际参数

  • 值传递

值传递:是指在调用函数时,将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,就不会影响到实际参数

如果形参是基本类型的变量,则实参不会变(值传递)。

注意: 类似的 String, Integer, Float, Double, Short, Byte, Long, Character等基本包装类型类。因为他们本身没有提供方法去改变内部的值,例如 Integer内部有一个 value 来记录 int基本类型的值,但是没有提供修改它的方法,而且 也是 final类型的,无法通过常规手段更改。所以虽然他们是引用类型的,但是可以认为它是值传递,这个也只是认为,事实上还是引用传递。

  • 引用类型

引用类型包括: 类类型, 接口类型和 数组。

基本类型的封装类和String类型是引用类型,但是在参数传递时可视为基本类型。

如果是形参是引用类型的变量(对象或数组),那么修改形参时,实参会跟着改变(引用传递)。

  • 方法中形参的值如何传递给实参

化为引用类型(集合,对象,数组)


this关键字的的用法

  1. 通过this关键字可以明确的访问一个类的成员变量,解决成员变量与局部变量名称冲突问题。
  2. 通过this关键字调用成员方法
  3. 在构造方法中访问构造方法使用this([参数1,参数2,…])

在有参构造方法中调用了无参构造方法,在使用this调用构造方法时有以下注意几点:

  • 只能在构造方法中使用this()调用其他的构造方法,不能在成员方法中使用。
  • 在构造方法中使用this()调用构造方法的语句必须位于第一行,而且只能出现一次。
  • 不能在一个类中的两个构造方法中使用this()互相调用。

————————————————

原文链接:https://blog.csdn.net/qq_42494654/article/details/109190433


泛型方法不能加static

静态方法不能为泛型方法
原因:泛型方法中的形参 T的类型 需要由外部指定,而static静态方法无法对其进行指定


静态方法与非静态方法的相互调用

静态方法是无法直接调用非静态方法的,可以通过对象的引用来调用非静态方法,静态方法存储在内存中,而非静态方法是由对象的实例化来创建的,所以要通过对象的引用在静态方法中调用非静态方法

对于静态方法,其他的静态或非静态方法都可以直接调用它。
而对于非静态方法,其他的非静态方法是可以直接调用它的。但是其他静态方法只有通过对象才能调用它。静态方法不能被非静态方法覆盖。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值