前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java-面向对象(封装)

Java-面向对象(封装)

作者头像
DataScience
发布2020-05-07 18:30:17
4240
发布2020-05-07 18:30:17
举报
文章被收录于专栏:A2DataA2DataA2Data

2、面向对象(封装)

面向对象思想:

  • 面向对象是基于面向过程的编程思想。
    • 面向过程:强调每一个功能的步骤
    • 面向对象:强调的是对象,然后用对象去调用功能
  • 特点
    • A:符合我们思考习惯的思想
    • B:可以将复杂的事情简单化
    • C:执行者----指挥者

类和对象

A:属性 ---- 就是事物的描述信息 B:行为 ---- 事物能够做什么 类:一组相关属性和行为的集合 对象:就是该事物的具体体现

  • 成员变量
    • 位置:类中,方法外
    • 初始化值:不需要
  • 成员方法
    • 去掉static 关键字

Phone

package myTest;

/**
 * Created by JackFeng on 2020/3/2.
 */
public class Phone {


    String barnd;
    int price;
    String color;


    public void call(String name) {
        System.out.println("给" + name + "打电话");
    }

    public void sendMessage(){
        System.out.println("给所有人群发短信");
    }


}

PhoneDemo

package myTest;

/**
 * Created by JackFeng on 2020/3/2.
 */
public class PhoneDemo {

    public static void main(String[] args) {

        Phone p = new Phone();

        System.out.println(p.barnd + "---" +p.price+ "----"+p.color);
        p.barnd = "iphone";
        p.price = 8888;
        p.color = "金色";
        System.out.println(p.barnd + "---" +p.price+ "----"+p.color);

        p.call("DataScience");
        p.sendMessage();
    }

}

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

区别:

  • A: 在类中的位置不同
    • 成员变量:类中,方法外
    • 局部变量:方法中或者方法声明上(形式参数)
  • B:在内存中的位置不同
    • 成员变量:堆内存
    • 局部变量:栈内存
  • C:生命周期不同
    • 成员变量:随着对象的创建而存在,随着对象的消失而消失
    • 局部变量:随着方法的调用而存在,随着方法调用完毕而消失
  • D:初始化值的问题
    • 成员变量:有默认值
    • 局部变量:没有默认值,必须先定义,赋值,最后使用
package myTest;

/**
 * Created by JackFeng on 2020/3/2.
 */
public class Variable {
    
    // 成员变量
    int x;
    
    public void show (){
        //局部变量
//        int y;        // 如果y 没有值 就会报错    

        int y = 1; // 赋值就会不报错
        System.out.println(y);
        
        // 调用x 有默认值
        System.out.println(x);
    }
}

标准学生类代码

package myTest;

/**
 * Created by JackFeng on 2020/3/2.
 */
public class StudentDemo {
    public static void main(String[] args) {

//        无参 + set方法
        Student s = new Student();
        s.setName("Data");
        s.setAge(26);
        System.out.println(s.getName()+"===="+s.getAge());


        // 带参构造
        Student s2 = new Student("DataScinece", 26);
        System.out.println(s2.getName()+"===="+s2.getAge());



    }

}

学生类

package myTest;

/**
 * Created by JackFeng on 2020/3/2.
 */
public class Student {
    private String name;
    private int age;

    // 构造方法
    // 无参数
    public Student(){}

    // 有参数
    public  Student(String name, int age ){
        this.name = name;
        this.age = age;
    }




    // get set 方法
    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;
    }
}

类名

如果类名作为形式参数传递

  • 要的是该类的对象

如果类名作为返回值类型

  • 返回的是该类的对象

(本章主要实验封装)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataScience 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2、面向对象(封装)
    • 类和对象
      • Phone
        • PhoneDemo
          • 成员变量和局部变量的区别
            • 标准学生类代码
              • 学生类
                • 类名
                相关产品与服务
                短信
                腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档