类与对象引出
1.类和对象的区别和联系
1)类是抽象的,概念的,代表一类事物,比如人类,猫类.…,即它是数据类型.
2)对象是具体的,实际的,代表一个具体事物,即是实例.
3)类是对象的模板,对象是类的一个个体,对应一个实例
2.使用面向对象解决养猫问题
//定义一个猫类Cat 自定义的数据类型
public class Cat {
String name;//名字
int age;//年龄
String color;//颜色
}
访问猫类:
public class Test {
public static void main(String[] args) {
Cat cat1=new Cat();
cat1.name="小白";
cat1.age=3;
cat1.color="白色";
Cat cat2=new Cat();
cat2.name="小红";
cat2.age=30;
cat2.color="红色";
System.out.println("第1只猫的信息:"+cat1.name+" "+cat1.age+" "+cat1.color);
System.out.println("第2只猫的信息:"+cat2.name+" "+cat2.age+" "+cat2.color);
}
}
对象内存布局
属性/成员变量基本介绍
1.从概念或叫法上看:成员变量=属性=field(字段)(即成员变量是用来表示属性的
案例演示: Car(name,price,color)
2.属性是类的一个组成部分,一般是基本数据类型,也可是引用类型(对象,数组)。
比如我们前面定义猫类
注意事项和细节说明
1.属性的定义语法同变量,示例:访问修饰食属性类型属性名;
2.属性的定义类型可以为任意类型,包含基本类型或引用类型
3.属性如果不赋值,有默认值,规则和数组一致。int age就是属性
成员方法
●基本介绍
在某些情况下,我们要需要定义成员方法(简称方法)。比如人类:除了有一些属性外(年龄,姓名..),我们人类还有一些行为比如:可以说话、跑步..通过学习,还可以做算术题。这时就要用成员方法才能完成。现在要求对Person类完善。
●成员方法快速入门
1)添加speak成员方法,输出“我是一个好人”
2)添加cal01成员方法,可以计算从1+..+1000的结果
3)添加cal02成员方法,该方法可以接收一个数n,计算从1+..+n的结果
4)添加getSum成员方法,可以计算两个数的和
人类:
//定义一个人类Person 自定义的数据类型
public class Person {
String name;//名字
int age;//年龄
public void speak(){
System.out.println("我是一个好人");
}
public void cal01(){
//计算从1+..+1000的结果
int sum=0;
for (int i=1;i<=1000;i++){
sum+=i;
}
System.out.println("1+..+1000的结果为:"+sum);
}
//该方法可以接收一个数n,计算从1+..+n的结果
//(int n) 形参列表 表示当前有一个形参n,可以接收用户输入
public void cal02(int n){
int sum=0;
for (int i=1;i<=n;i++){
sum+=i;
}
System.out.println("1+..+"+n+"的结果为:"+sum);
}
//添加getSum成员方法,可以计算两个数的和
//两个形参,用于接收用户输入两个数数
public int getSum(int num1,int num2){
int sum=num1+num2;
//返回sum的值
return sum;
}
}
人类测试类
public class Test {
public static void main(String[] args) {
Person person1 =new Person();
person1.name="小白";
person1.age=3;
System.out.println("第1个人的信息:"+ person1.name+" "+ person1.age);
person1.speak();
// person1.cal01();
person1.cal02(1000);
int result = person1.getSum(10, 20);
System.out.println("两数的和为:"+result);
}
}
输出结果

●方法的调用机制原理:(重要!-示意图)
提示:画出程序执行过程[cal02]+说明
本文含有隐藏内容,请 开通VIP 后查看