权限修饰符
package com.jian.demo4;
public class Animal {
private String nickName;
int age;
protected double weight;
public String color;
public void print(){
System.out.println(nickName);
System.out.println(age);
System.out.println(weight);
System.out.println(color);
}
}
package com.jian.demo4;
public class Test {
public static void main(String[] args) {
Animal a = new Animal();
System.out.println(a.age);
System.out.println(a.weight);
System.out.println(a.color);
}
}
final关键字可以修饰属性
package com.jian.demo6;
/**
* 2. final关键字可以修饰属性
* 2.1当使用final关键字修饰属性,称为该属性为常量
* 变量:存放数据的,并且存放的数据是可以发生改变的
* 常量:存放数据的,存放的数据是不可以发生改变的
* 2.2常量的赋值方式有两种:
* 第一种方式:在声明同时赋值
* 第二种方式:通过构造方法完成赋值
* 2.3一般final关键字与static关键字配合使用,原因:在方法区中只开辟一块空间
* 2.4建议:常量名全部大写,如果有多个单词之间使用下划线隔开
* 比如:在Java中π使用PI表示
*
*/
public class MyClass {
int x; //实例变量
final int y = 100; //常量
final int z; //常量
static final int a = 300; //静态常量
static final double PI = 3.14;
static final double MY_PI = 3.14159;
public MyClass() {
z = 200;
}
public void print(){
x = 11;
x = 22;
//y = 33; //常量的值不能更改
//z = 44; //常量的值不能更改
}
}
package com.jian.demo6;
public class Person {
String name;
int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
final关键字修饰局部变量
package com.jian.demo6;
public class Test {
public static void main(String[] args) {
int num; //局部变量
num = 10;
num = 20;
num = -123;
final int num2; //num2是常量
num2 = 11;
//num2 = 22; //出现编译错误,常量的值不能更改
Person p1 = new Person(); //p1是局部变量
p1 = new Person("lisi", 19);
final Person p2 = new Person("小明", 25); //p2是常量
//p2 = new Person(); //出现编译错误,原因:p2是常量,常量的值不能更改
p2.age = 21;
}
}