对象与类
类:若干具有相同属性和行为的对象的群体或者抽象,类是创建对象的模板,由属性和行为两部分组成。
类的声明
//成员变量的声明:[修饰符] 数据类型 变量名 [=初始值];
// 成员方法的声明:[修饰符] 返回值类型 方法名 ([数据类型 参数名,......]){
属性/成员变量
成员变量 = 属性 = field(字段) 即 成员变量是用来表示属性的
有四种访问修饰符 public proctected 默认 private
构造器的声明
[修饰符] 构造器名([数据类型 参数名,......]){
示例代码:
public class Cat{ //定义一个猫类
String name; //成员变量
int age;
String color;
//Cat类无参构造器
public Cat() {
}
//Cat类有参构造器
public Cat(String name, int age, String color) {
this.name = name;
this.age = age;
this.color = color;
}
}
构造器注意事项
3.任何类都含有构造器。如果没有显式地定义类的构造器,则系统会为该类提供一个默认的无参构造器。一旦在类中显式地定义了构造器,系统就不会再为这个类提供默认的构造器了。
类的使用
类对象的创建,赋值给变量: 对象名 = new 构造器([参数列表]);
//创建Cat对象 并通过构造器赋值
Cat cat = new Cat("小花",2,"花色");
Java内存的结构分析
public class Object2 {
public static void main(String[] args) {
/*
创建Person对象
p1是对象名(对象引用)
new Person() 创建的对象空间(数据) 才是真正的对象
*/
Person p1 = new Person();
//对象的属性默认值,遵守数组规则:
System.out.println("\n当前这个人的信息");
System.out.println("age="+p1.age+"\tname="+p1.name
+"\tsal="+p1.sal+"\tisPass="+p1.isPass);
/* 没有赋值,全部输出默认值
输出:当前这个人的信息
age=0 name=null sal=0.0 isPass=false
*/
}
}
class Person{
int age;
String name;
double sal;
boolean isPass;
}
Java创建对象的流程简单分析
1.判断类有没有被加载,如果没有就先加载类(Person)信息(属性和方法信息,只会加载一次)
4.进行指定初始化(方法区中的常量池),比如p1.name="jack";
p1.name="jack";
System.out.println(p1.name);
//输出jack