类和对象
类是一组具有相同属性和行为的同类事物的描述,是抽象的,概念上的定义。
对象是实际存在的该类事物的每个个体,因而也成称为实例。
类名命名规则:
- 不能使用Java关键字。
- 首字母大写,不能含有除“_”和“$”之外的字母,但一般不使用下划线和美元符号。
- 不能含有空格。
对象实例化与使用:
实例化语法:
类名 对象名=null;//声明对象
对象名=new 类名();//实例化
类名 对象名=new 类名();//声明对象的同时实例化对象
构造函数的作用:
- 构造方法一般用来初始化成员变量。
- 构造方法不是必须的,如果没有定义构造函数,系统会自动创建一个默认的不带参数的构造方法。
- 如果自己定义了构造方法,则JVM就不会创建不带参数的构造函数,初始化成员变量时也只能使用自己定义的构造方法。
4。 构造方法没有返回值,类名前面不能有void,String之类的返回类型,方法体中没有return语句。下面是一个带参数的构造函数:
public Person(String name, int age, String sex, Double salary) {
super();
this.name = name;
this.age = age;
this.sex = sex;
this.salary = salary;
}
new关键字:
- 用来实例化对象的。
- 在实例化的同时在内存中为该对象分配了内存空间用来存放成员变量。
- 每new一次就分配一个新的空间。
- ==号表示比较对象的内存地址。例如:
Person p1=new Person("张三",20,"男",10000.98);
Person p2=new Person("张三",20,"男",10000.98);
return (p1==p2);
此时会返回false.因为p1和p2的内存地址空间不同。
this关键字:
- 表示类中的属性。
- 可以使用this调用本类中其他构造方法。
- this表示当前对象。
附上整体代码便于理解:
public class Person {
String name;
int age;
String sex;
Double salary;
public Person(String name, int age, String sex, Double salary) {
super();
this.name = name;
this.age = age;
this.sex = sex;
this.salary = salary;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public String getSex(){
return sex;
}
public Double getSalary(){
return salary;
}
public static void main(String[] args) {
Person p1=new Person("张三",20,"男",10000.98);
Person p2=new Person("李四",18,"女",8001.98);
System.out.println(p1.getName()+"的年龄是"+p1.getAge()+","+"性别是"+p1.getSex()+","+"工资是"+p1.getSalary());
System.out.println();
System.out.println(p2.getName()+"的年龄是"+p2.getAge()+","+"性别是"+p2.getSex()+","+"工资是"+p2.getSalary());
}
}
运行结果
运行结果:
张三的年龄是20,性别是男,工资是10000.98
李四的年龄是18,性别是女,工资是8001.98