public class 类名{
filed;成员属性/全局变量
method;方法
}
成员属性: 修饰符 数据类型 变量名
修饰符----public
数据类型----任意的数据类型
变量名----见名知意
方法构造: 修饰符 返回值类型 方法名(参数类型 参数名){
方法体
}
成员变量和局部变量的区别
成员变量 类的里面,方法的外面 类内可以使用 有默认值,与数组一样
局部变量 方法的内部 方法内可以使用 必须先赋值然后使用
成员变量在堆的内部,随着对象的建立而产生,随着对象被垃圾回收机制回收而消亡
局部变量在栈的内部,随着方法的建立而产生,方法出栈,局部变量消亡,生命周期较短
局部变量与全局变量发生重名时,优先使用局部变量
成员变量前面加this关键字------强调当前的变量是成员变量
public class Person {
public String name;
操作成员变量时,有可能会出现非法赋值
可以不让外部直接访问成员变量,将成员变量私有化----修饰符(private) 数据类型 变量名
提供getXXX()方法获取成员变量,方法有返回值
提供setXXX(数据类型 参数)给成员变量赋值,有参数
private int age;
构造方法
修饰符 方法名(与类名保持一致)(参数类型 参数名){
方法体
}
注意事项
1.构造方法没有返回值,也没有void
2.如果一个类我们没有手动的写一个构造方法,系统会赠送一个无参的构造方法
3.如果自己手动的写构造方法,系统则不会赠送构造方法
4.一般情况下,构造方法配合new关键字使用
5.构造方法实现了方法的重载
// 无参的构造方法
public Person() {
}
// 满参的构造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void study() {
System.out.println("我爱学习");
}
public String eat(String str) {
return name + "中午要吃" + str;
}
public String getName() {
return name;
public void setName(String name) {
this.name = name;
}
// 有返回值,取值
public int getAge() {
return age;
}
// 有参数,赋值
public void setAge(int age) {
if(age>0&&age<140) {
this.age = age;
}else {
System.out.println("输入的年龄有误");
}
}
// 重写toString()对对象进行输出
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}