一、成员变量
1、何为成员变量?
成员变量指的就是类的属性
示例:
public class User {
public String username;
public String password;
public int age;
public String nickname;
public boolean gender;
double height;
char firstname; //以上均为类的属性 -- 成员变量
}
2、何为成员变量的默认值?
示例:
public class User {
public String username;
public String password;
public int age;
public String nickname;
public boolean gender;
double height;
char firstname;
public void study() {
System.out.println("我的名字是"+ username + ", 我今年"+ age
+"岁了,我的密码就不告诉你了,我的昵称是"+ nickname + ",我的性别是"+ gender
+ ",我的身高是"+ height +",我的姓氏是"+ firstname);
}
public static void main(String[] args) {
study();
//我的名字是null, 我今年0岁了,我的密码就不告诉你了,我的昵称是null,我的性别是false,我的身高是0.0,我的姓氏是
}
}
成员变量存在默认值,若成员变量未被赋值,则输出默认值,如上 示例 study() ; 默认值根据类属性的类型不同而不同
基本数据类型:整型:默认值是0, 浮点数据:默认值是0.0
boolean:默认值是false,char类型默认值是 ' '
引用数据类型(对象): 默认都是null类型
二、局部变量
1、何为局部变量?
定义在函数内部的变量叫做局部变量,局部变量必须先初始化后使用
示例:
public static void study() {
int a;
System.out.println(a); //报错 a 未初始化
int b = 1;
System.out.println(b); // 1
}
三、类的构造函数(方法)
1、构造函数的书写规则:
访问修饰符 类名称() {
初始化属性
}
示例:
public User(String _username, String _password, int _age, String _nickname, boolean _gender, double _height, char _firstname) {
username = _username;
password = _password;
age = _age;
nickname = _nickname;
gender = _gender;
height = _height;
firstname = _firstname;
}
2、构造方法的规则:
1、构造方法目的是为了初始化对象的属性。
2、构造函数的名称必须和类名称保持一致。
3、构造函数不需要写返回值类型
4、构建对象,new 后面调用就是类的构造函数示例:
User u2 = new User("刘六", "1213", 16, "帅哥刘", false, 200, '刘'); u2.study();//我的名字是刘六, 我今年16岁了,我的密码就不告诉你了,我的昵称是帅哥刘,我的性别是false,我的身高是200,我的姓氏是刘
5、当类被创建成功,如果没有构造函数,JVM会默认生成一个无参的构造,一定注意:如果
我们自己已经在类中定义一个构造函数,此时JVM将不再自动生成无参的构造函数,
如果这个调用无参的构造,需要自己创建这个无参的构造方法。示例:
//有参 public User(String _username, String _password, int _age, String _nickname, boolean _gender, double _height, char _firstname) { username = _username; password = _password; age = _age; nickname = _nickname; gender = _gender; height = _height; firstname = _firstname; } // 无参 public User() { }
6、一般在定义一个java类中,建议实现一个无参构造和全参构造,其他的根据情况来定义
四、this关键字
this 自己的意思,当类中出现了this,此时this指向该类,当使用该类实例化对象的时候, this指向实例化的对象。
示例:
public class User {
public String username;
public String password;
public int age;
public String nickname;
public boolean gender;
double height;
char firstname;
public User(String username, String password, int age, String nickname, boolean gender, double height, char firstname) {
this.username = username;
this.password = password;
this.age = age;
this.nickname = nickname;
this.gender = gender;
this.height = height;
this.firstname = firstname;
}
}
五、类的成员
类的成员:
属性
构造函数
方法
静态代码块:主要用来初始化类运行时的必须资源。
构造代码块:主要用来初始化类运行时的必须资源(一般不怎么使用)。
类成员
类方法
六、static关键字
对象的初始化顺序问题
当我们调用构造函数构造的对象的时候,首先被static修饰属性会执行,
然后静态代码块开始执行,
之后正常属性开始运行,最后才是构造函数
static关键字
static关键字一般用来修饰变量或者方法
一旦变量被static修饰,该变量就会变成静态,首先被加载的静态区!!static修饰的变量在内存有且只能有一份
如果方法被static修饰,该方法就属于类的方法,不再是对象方法。
类名称.方法名称();
面向对象专业术语
OO(Oriented Object):面向对象
OOP(Oriented Object Programming):面向对象的编程
OOA(Oriented Object Analysis):面向对象的分析
OOD(Oriented Object Design):面向对象的设计
OOT(Oriented Object Test):面向对象的测试