Java SE note1
1、数据类型
-
基本类型
低------------------------------------------------->高
byte,short,char -> int -> long -> float -> double
-
引用类型:类,接口,数组
2、方法
-
方法可以返回一个数组
public int[] getSumAndSub(int n1, int n2){ int[]resArr = new int[2];//创建一个数组 resArry[0] = n1 + n2; resArry[1] = n1 - n2; return resArr; }
-
方法名遵循驼峰命名
-
方法中不可以再定义方法
-
引用类型传递的是地址(传递也是值,但是值是地址),可以通过形参影响实参!
-
返回类型是类,返回也是一个类对象
class Person{ String name; int age; } class MyTools{ public Person copyPerson(Person p){ Person p2 = new Person(); p2.name = p.name; p2.age = p.age; return p2; } }
-
可变参数
//1. int...表示接受的是可变参数,类型是int ,即可以接受多个int(0-多) //2. 使用可变参数时,可以当作数组来使用 即 nums 可以当最数组 public int sum(int... nums){ int res = 0; for(int i = 0;i < nums.length; i++){ res += nums[i]; } return res; } //3. 可变参数的实参可以为数组 //4. 可变参数可以和普通类型的参数一样一起放在形参列表,但必须保证可变参数在最后 //5. 一个形参列表中只能出现一个可变参数
3、作用域
- 局部变量:也就是除了属性之外的其他变量,作用域为定义它的代码块中
- 全局变量:也就是属性,作用域为整个类体
- 全局变量(属性)可以不赋值,直接使用,因为有默认值,局部变量必须赋值后,才能使用,因为没有默认值
- 属性和局部变量可以重名,访问时遵循就近原则
- 属性生命周期较长,伴随着对象的创建和创建,伴随着对象的销毁而销毁。局部变量生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而销毁
- 作用域范围不同
- 全局变量(属性):可以被本类使用,或其他类使用(通过对象调用)
- 局部变量:只能在本类中对应的方法中使用
- 修饰符不同
- 全局变量/属性可以加修饰符
- 局部变量不可以加修饰符
4、类变量和类方法
- 类变量:也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取得的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量
- 定义语法
- 访问修饰符 static 数据类型 变量名;
- 访问
- 类名.类变量名 (推荐)
- 对象名.类变量名
- 不管static变量在哪里,共识(1)static 变量是同一个类所有对象共享(2)static类变量,在类加载的时候就生成了
- 加上static 称为类变量或静态变量,否则成为实例变量/普通变量/非静态变量
- 实例变量(不加static)不能通过 类名.类变量名 方式访问
- 类变量在加载类时就初始化了,也就是说,即使你没有创建对象,只要类加载了,就可以使用类变量了。
- 类变量的生命周期时随着类的加载开始,随着类消亡而销毁
-
类方法也叫静态方法
-
形式如下:
- 访问修饰符 static 数据返回类型 方法名()
-
调用
- 类名.类方法名 或者 对象名. 方法名
-
如果我们希望不创建实例,也可以调用某个方法(即当做工具来使用),这时,把方法做成静态方法非常合适
System.out.println("9开平方的结果是=" + Math.sqrt(9));
- 开发自己的工具类时,可以将方法做成静态的,方便调用
-
类方法和普通方法都是随着类的加载而加载,将结构信息存储在方法区;类方法中无this的参数,普通方法中隐含着this的参数
-
普通方法和对象有关,需要通过对象名调用,比如 对象名.方法名(参数),不能通过类名调用
-
类方法中不允许使用和对象有关的关键字,比如 this和super,普通方法(成员方法)可以
-
类方法(静态方法)中,只能访问 静态变量 或 静态方法
-
普通成员方法,既可以访问 普通变量(方法),也可以访问静态变量(方法)
-
在编写代码时,仍然要遵守访问权限规则
分类:
Hello World ~ 异常
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY