目录
- 创建类
- 类的属性
- 类的方法
- 实例
- 分析
- 创建对象
- 创建Test类测试
- 分析
创建类
类的属性
属性用于定义该类或该类对象包含的数据或者说静态特征。属性作用范围是整个类体。
- 属性定义格式:
[修饰符] 属性类型 属性名 = [默认值] ;
类的方法
方法用于定义该类或该类实例的行为特征和功能实现。方法是类和对象行为特征的抽象。方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。
- 方法定义格式:
[修饰符] 方法返回值类型 方法名(形参列表) {// n条语句
}
实例
public class Person {int age ;//年龄String name;//姓名double height;//身高double weight;//体重//动词--->方法//吃饭public void eat(){int num = 10;//局部变量:放在方法中System.out.println("我喜欢吃饭");}//睡觉:public void sleep(String address){System.out.println("我在"+address+"睡觉");}//自我介绍:public String introduce(){return "我的名字是:"+name+",我的年龄是:"+age+",我的身高是:"+height+",我的体重是:"+weight;}
}
分析
这是一个简单的Java类,名为Person
,代表一个人。这个类包含了四个成员变量(属性):age
(年龄)、name
(姓名)、height
(身高)和weight
(体重)。类中还定义了三个方法:eat()
、sleep()
和introduce()
,分别代表“吃饭”、“睡觉”和“自我介绍”的行为。
以下是关于这个类的简要分析:
-
属性:
age
: 用于存储人的年龄。name
: 用于存储人的姓名。height
: 用于存储人的身高。weight
: 用于存储人的体重。
-
方法:
eat()
: 一个没有参数的方法,输出“我喜欢吃饭”。sleep(String address)
: 一个带有一个字符串参数的方法,输出“我在”加上传入的地址“睡觉”。introduce()
: 返回一个字符串,描述人的姓名、年龄、身高和体重。
-
变量:
int num = 10;
: 这是一个局部变量,只在eat()
方法内部有效。
-
输出:
- 当调用
eat()
、sleep()
和introduce()
方法时,程序会输出相应的信息。例如,调用eat()
会输出“我喜欢吃饭”,调用sleep(address)
会输出“我在”加上传入的地址“睡觉”,调用introduce()
会输出人的详细信息。
- 当调用
创建对象
创建Test类测试
public class Test01 {//测试类//这是一个main方法,是程序的入口:public static void main(String[] args) {//创建一个人类的具体的对象/实例://创建一个对象,对象的名字叫:zs//Person 属于 引用数据类型//第一次加载类的时候,会进行类的加载,初始化创建对象的时候,对象的属性没有给赋值,有默认的初始化的值。Person zs = new Person();zs.name = "张三";zs.age = 19;zs.height = 166.5;zs.weight = 70.4;//再创建一个对象://再次创建类的时候,就不会进行类的加载了,类的加载只在第一次需要的时候加载一次Person ls = new Person();ls.name = "李四";ls.age = 18;ls.height = 180.6;ls.weight = 130.5;//对属性值进行读取:System.out.println(zs.name);System.out.println(ls.age);//对方法进行操作://不同的对象,属性有自己的特有的值,但是方法都是调用类中通用的方法。//属性:各个对象的属性是独立的,//方法:各个对象的方法是共享的。zs.eat();ls.eat();zs.sleep("教室");/*String str = zs.introduce();System.out.println(str);*/System.out.println(zs.introduce());}
}
分析
这段代码是一个简单的Java程序,用于演示对象的创建、属性的设置、方法的调用等基本概念。以下是代码的简要分析:
-
类的定义:
Test01
是测试类,包含一个main
方法,这是程序的入口点。
-
对象的创建:
- 通过
Person zs = new Person();
和Person ls = new Person();
创建了两个Person
类的对象,分别命名为zs
和ls
。
- 通过
-
属性的设置:
- 使用点运算符为对象的属性赋值,例如
zs.name = "张三";
。
- 使用点运算符为对象的属性赋值,例如
-
方法的调用:
- 调用对象的
eat()
方法,该方法在Person
类中定义。 - 调用对象的
sleep()
方法,并传递一个字符串参数 “教室”。
- 调用对象的
-
属性的读取:
- 使用
System.out.println()
打印对象的属性值。
- 使用
-
方法的共享:
- 所有对象共享同一个
eat()
方法,因为它是类中的静态方法。
- 所有对象共享同一个
-
方法的独立性:
- 每个对象都有自己独立的属性值,但共享相同的方法。例如,虽然
zs
和ls
的name
和age
属性值不同,但他们都调用了同一个eat()
方法。
- 每个对象都有自己独立的属性值,但共享相同的方法。例如,虽然
-
部分注释:
- 代码中的注释有助于解释代码的工作原理,但被注释掉的代码(例如
String str = zs.introduce(); System.out.println(str);
)不会执行。
- 代码中的注释有助于解释代码的工作原理,但被注释掉的代码(例如
-
输出:
- 程序将打印出对象
zs
和ls
的属性值,以及他们各自调用的方法(eat()
和sleep()
)的输出。
- 程序将打印出对象
-
加载和初始化:
- 当第一次创建类的新对象时,类会被加载并初始化。后续创建该类的其他对象时,类不再重新加载和初始化。这通过注释进行了说明。
-
注意点:
在提供的代码中,我们没有看到完整的Person
类定义,所以我们无法分析它的所有属性和方法。但根据提供的代码,我们只能假设Person
类中定义了相应的属性和方法。