零基础学Java-基础语法篇day9(类和对象)

面向对象和面向过程对比

面向过程编程:是一种以过程为中心的编程思想,实现功能的每一步都是自己实现的。

面向对象编程: 是一种以对象为中心的编程思想,通过指挥对象实现具体功能

对象:指客观存在的具体事务。

类和对象

类是对象的描述,
对象是类的实体

:类是对现实生活中一类具有共同属性行为的事物的抽象

类是对事物,也是对对象的一种描述,可以将类理解为一张设计图,根据设计图,可以创建出具体存在的事物。

类的组成
属性 该事物的各种特征
行为 该事物存在的功能(能够做的事情)

类的定义

类的组成:属性和行为
属性:在代码中通过成员变量来体现(类中方法外的变量 )
行为:在代码中通过成员方法来体现(和前面的方法相比去掉static关键字即可)

定义步骤:
定义类:

  public class 类名{
  //成员变量 
  变量1的数据类型 变量1;
  变量2的数据类型 变量2;
  //成员方法
  方法1;
  方法2;
  }

实例:

package itheima.com;

import java.sql.SQLOutput;

public class Student {
    //  属性 :姓名,年龄
    //  成员变量:跟之前定义的变量格式一样,只不过位置发生了改变,类中方法外
    String name;
    int age ;
    //行为:学习
    //成员方法:跟之前定义方法格式一样,指不过去掉了static关键字
    public void study(){
        System.out.println("学习");
    }
}

对象

对象 :能够看得到的真实存在的实体。

创建对象

格式:类名 对象名 = new 类名();
范例:Student s = new Student();

使用对象

  1. 使用成员变量

    格式:对象名 变量名
    范例:s.name

  2. 使用成员方法
    格式: 对象名.方法名();
    范例:s.study();

实例:

package itheima.com;

public class TestStudent {
    public static void main(String[] args) {
      Student stu =new Student();

      System.out.println(stu.name);//不赋值为null
      System.out.println(stu.age);//不赋值为 0
        stu.name = "zhengjingshuo";
        stu.age = 22;

        System.out.println(stu.name);
        System.out.println(stu.age);
        stu.study();
      //  itheima.com.Student@1b6d3586
      //  全类名(包名+类名)  
        System.out.println(stu);
    }
}

打印结果:
在这里插入图片描述
实例: 手机类的测试和使用
需求:定义一个手机类,再定义一个手机测试类,在手机测试类中完成成员变量和成员方法的使用

创建类

package com.itheima.test;

public class Phone {
    //品牌、价格
    String brand;
    int price;
    //打电话,发短信
    public void call(String name){
        System.out.println("给"+name+"打电话");

    }
    public void send()
    {
        System.out.println("群发短信");
    }
}

创建和使用对象

package com.itheima.test;

public class TestPhone {
    public static void main(String[] args) {
        //1.创建对象
        Phone pho = new Phone();
        //2.给成员变量赋值
        pho.brand="华为";
        pho.price=2399;
        //3.打印赋值后的成员变量
        System.out.println(pho.brand);
        System.out.println(pho.price);
        //4.调用成员方法
        pho.call("zhengjingshuo");
        pho.send();
    }
}

成员变量和局部变量的区别

成员变量:类中方法外的变量
局部变量:方法中的变量

区别成员变量局部变量
内存中的位置不同堆内存栈内存
类中的位置不同类中方法外方法内或者方法声明上(形参)
生命周期不同随着对象的存在而存在,随着对象的消失而消失随着方法的调用而存在,随着方法调用完毕而消失
初始化值不同有默认的初始化值没有默认的初始化值,必须先定义,赋值,才能使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值