1、使用float类型的参数,赋值时末尾要加f;
float cpu = 1.2f;
2、局部变量与成员变量
- 局部变量的作用域是在方法内部;
- 成员变量的作用域是整个类;
- 局部变量和成员变量为同一个时,优先局部变量(就近原则);
- 成员变量可不定义初始值,局部变量必须定义初值;
public class Phone {
//成员变量
int var = 1;
void call() {
//局部变量
int localvar = 12;
System.out.println("成员变量:"+var);
System.out.println("局部变量:"+localvar);
}
}
3、构造方法
- 使用new+构造方法,创建一个新的对象; - 构造方法是定义在java类中的一个用来初始化对象的方法(与类同名且没有返回值);
- 无参的构造方法
- 带参构造方法的使用
- 当没有指定构造方法时,系统会自动添加无参的构造方法
- 当有指定构造方法,无论是有参、无参的构造方法,都不会自动添加无参的构造方法
- 构造方法的重载:方法名相同,但参数不同的多个方法,调用时会根据不同的参数选择相应的方法;
- 构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值
public class Phone {
//无参构造方法
public Phone() {
System.out.println("这是无参的构造方法");
}
//有参的构造方法
public Phone(float newcpu) {
cpu=newcpu;
System.out.println("这是有参的构造方法");
}
}
4、静态变量
- static
- 可直接通过类名访问
- 也可使用对象名访问
public class HelloWorld {
// 定义静态变量,保存班级名称
static String className = "JAVA开发一班";
public static void main(String[] args) {
//通过类名 访问静态变量,输出班级名称
System.out.println(HelloWorld.className);
//通过对象名访问
HelloWorld hello = new HelloWorld();
System.out.println(hello.className);
}
}
5、静态方法
- 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员;
- 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量;
- 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量;
- 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法;
public class HelloWorld {
// 定义静态变量score1
static int score1 = 86;
// 定义静态变量score2
static int score2 = 92;
// 定义静态方法sum,计算成绩总分,并返回总分
public static int sum() {
int sum = score1 + score2;
return sum;
}
public static void main(String[] args) {
// 调用静态方法sum并接收返回值
int allScore = HelloWorld.sum();
System.out.println("总分:" + allScore);
}
}
6、静态初始化块
- 静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
- 程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。
public class HelloWorld {
String name; // 声明变量name
String sex; // 声明变量sex
static int age;// 声明静态变量age
// 构造方法
public HelloWorld() {
System.out.println("通过构造方法初始化name");
name = "tom";
}
// 初始化块
{
System.out.println("通过初始化块初始化sex");
sex = "男";
}
// 静态初始化块
static{
System.out.println("通过静态初始化块初始化age");
age = 20;
}
public void show() {
System.out.println("姓名:" + name + ",性别:" + sex + ",年龄:" + age);
}
public static void main(String[] args) {
// 创建对象
HelloWorld hello = new HelloWorld();
// 调用对象的show方法
hello.show();
}
}