自学Java day05

学习目标:

第二章:面向对象基础

  • 类和对象
  • 对象内存图
  • 封装
  • 构造方法

 

目录

学习目标:

一、面向对象与面向过程的思想对比:

二、类:

2.1类的组成

2.2类中对象使用

    1.使用成员对象

    2.使用成员方法

三、封装

3.1 private关键字的使用

 3.2 this关键字

四、构造方法

4.1 格式

4.2 作用

五、案例 


一、面向对象与面向过程的思想对比:

  1. 面向过程(POP):实现功能都是自己实现的
  2. 面向对象(OOP):通过只会对象实现具体功能

二、类:

      类是对于一类具有共同属性和行为的事物概述

2.1类的组成

     属性:该事物的各种特征(成员变量)

     行为:该事物实现的功能(成员方法)

总结:类是对象的描述,对象是类的实体。

2.2类中对象使用

     创建对象

      格式:类名  对象名 = new 类名()

      范例:Student  s = new Student()

    使用对象

    1.使用成员对象

          格式:对象名.变量名

          范例:s.name

    2.使用成员方法

          格式:对象名.方法名

          范例:s.study()

案例:手机类

需求:定义一个手机类,然后定义一个手机测试类,在手机测试类中通过对象完成成员变量和成员方法使用。

手机类

public class phone {
    //品牌,价格
    String brand;
    int price;

    //打电话,发短信
    public void call(String name){
        System.out.println("给"+name+"打电话");
    }
    public void sendMessage(){
        System.out.println("群发短信");
    }
}

手机测试类

public class Testphone {
    public static void main(String[] args) {
        //1.创建对象
        phone p = new phone();
        //2.给成员变量进行赋值
        p.brand = "大米";
        p.price = 2999;
        //3.打印赋值后的成员变量
        System.out.println(p.brand +"~"+ p.price);
        //4.调用使用方法
        p.call("阿强");
        p.sendMessage();


三、封装

3.1 private关键字的使用

一个标准类的编写

把成员变量用private修饰

提供对应的setXxx()/getXxx方法

私自类

public class Student {
    private String name;
    private int age;

    public void setName(String n){
        name = n;
    }

    public String getName(){
        return name;
    }

    public void setAge(int a){
        age = a;
    }

    public int getAge(){
        return age;
    }
    public void show(){
        System.out.println(name + "~" +age);
    }
}

检测私自累

public class TestStudent {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.setName("张三");
        stu.setAge(23);

        System.out.println(stu.getName());
        System.out.println(stu.getAge());

        int age = stu.getAge();

        for(int i = 1; i <= age; i++){
            System.out.println("生日快乐");
        }

        stu.show();//仅仅是对数据作出展示
    }
}

 3.2 this关键字

this关键字的作用:可以调用本类的成员(变量、方法)解决局部变量和成员变量重名的问题

注意:方法被哪个对象调用,this就是代表哪个对象。

四、构造方法

4.1 格式

1.方法名与类名相同,大小一致

2.没有返回值类型,连void都没有

3.没有具体的返回值(不能由return带回结果数据)

4.2 作用

用于给对象的数据(属性)进行初始化

public class Student {

    private String name;
    private int age;

    public Student(String name, int age){
        this.name = name;
        this.age = age;
    }

    public void show(){
        System.out.println(name +"~"+ age);
    }
}

Test类

public class TestStudent {
    public static void main(String[] args) {
        Student stu1 = new Student("张三",23);
        stu1.show();
    }
}

五、案例 

需求:

1.成员变量使用private修饰

2.构造方法

提供一个无参构造方法

提供一个带多个参数的构造方法

3.成员方法

提供每一个成员变量对应的setXxx()/getXxx()

提供一个显示对象信息的show()

4.创建对象并成员变量赋值的两种方式

无参构造方法创建对象后使用setXxx()赋值

使用带参构造的方法直接创建带有属性值得对象

JavaBean类:封装数据

bakage

/*
   JavaBean类:封装数据
 */
public class Student {
    private String name;
    private int age;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void show(){
        System.out.println(name +"..."+ age);
    }
}

 Test

public class TestStudent {
    public static void main(String[] args) {
        //1.无参数构造方法创建对象,通过setXxx方法给成员变量进行赋值
        Student stu1 = new Student();
        stu1.setName("张三");
        stu1.setAge(23);
        stu1.show();

        //2.通过带参数的方法直接给属性
        Student stu2 = new Student("李四",23);
        stu2.show();
    }
}

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
idea java开发手册插件是指阿里巴巴Java编程规范插件。这个插件提供了关于使用Java编写代码时的规范和指导,帮助开发人员遵循最佳实践。插件包括安装手册与使用手册,可以帮助开发人员正确安装和配置这个插件,以便在IDEA开发环境中有效地使用它。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [阿里巴巴java开发规范Idea插件使用手册.pdf](https://download.csdn.net/download/ningfuxuan/12378932)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Java自学视频教程-JavaSE基础-配套资料-day01-课程介绍、Java概述、IDEA、Java基础语法.rar](https://download.csdn.net/download/weixin_54787054/88246644)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Idea Java开发必备插件](https://blog.csdn.net/win7583362/article/details/126308456)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值