面向对象快速入门

发布于:2022-12-05 ⋅ 阅读:(329) ⋅ 点赞:(0)

类与对象引出

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 后查看

网站公告

今日签到

点亮在社区的每一天
去签到