
// 如果希望一个字面量被当作long类型,需加L/l,否则默认int
long a = 123456789789789L;
// 同理,想要float要在最后加F/f,否则默认double
float b = 98.5F;
声明
int[] arr = {12,24};
int[] arr = new int[3]; // 初始化为0


int a = 20;
byte b = (byte)a;
修饰符 返回值类型 方法名(形参列表){ // 无返回值为void
方法体代码
return 返回值;
}
同一个类中,出现多个方法名称相同,但是形参列表不同的,就是方法重载(为同一个方法指定多种参数模式)

优化:

面向对象的三大特征:封装、继承、多态
public class 类名{
1.成员变量
2.成员方法
3.构造器
4.代码块
5.内部类
}
public class Car{
// 属性(成员变量)
String name;
double price;
//行为(方法)
public void start(){
System.out.println(name + "启动");
}
public void run(){
System.out.println("价格" + price);
}
}
// 调用
// 类 变量名称 = new 构造器;
Car c = new Car();
c.name = "car";
c.start();
// 修饰符 数据类型 变量名 = 初始值
// 通常我们不会赋初始值,会自动有默认值
byte short int long 0
double float 0.0
boolean false
String等引用类型 null

Car c = new Car();c变量中存储的是对象地址定义在类中,可以用于初始化一个类的对象,并返回对象的地址
new Car()中的Car()就是一个构造器
可以出现在构造器、方法中;代表当前对象的地址(对象或方法中的this都指向对象地址)
对象代表什么,就得封装对应的数据,并提供数据对应的行为
例如人画圆,创建一个人对象、创建一个圆对象、其中画圆这个方法,应该封装到圆对象中

public class User {
// 1.私有变量
private String name;
private double height;
// 3.要求提供无参构造器,有参构造器可选
public User() {
}
public User(String name, double height, double salary) {
this.name = name;
this.height = height;
}
// 2.提供getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
}
成员变量
public class User {
private String name;
private double height;
}
局部变量
public class User {
public static void main(String[] args) {
double score = 100;
}
}
| 区别 | 成员变量 | 局部变量 |
|---|---|---|
| 类中位置不同 | 类中,方法外 | 常见于方法中 |
| 初始化值不同 | 有默认值,无需初始化 | 没有默认值,使用前要先赋值 |
| 内存位置不同 | 堆内存 | 栈内存 |
| 生命周期不同 | 随着对象创建而存在,随对象消失而消失 | 随着方法调用而存在,随着方法结束而消失 |
| 作用域 | 在归属的大括号中 |