java

Wesley13
• 阅读 487

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;    }}

类名

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

  • 要的是该类的对象

如果类名作为返回值类型

  • 返回的是该类的对象

(本章主要实验封装)

java

****java期待您的进步

java

在看和转发

都是一种支持

java

本文分享自微信公众号 - DataScience(DataScienceTeam)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
半臻 半臻
3年前
Python基础6——面向对象
14面向对象14.1面向对象基础​面向对象是一种编程思想,处理面向对象编程以外,还有面向过程编程​三大特征:1.封装2.继承3.多态​面向过程与面向对象的区别1.面向过程:自己动手洗衣服,拧衣服、晾衣服2.面向对象:构造一个洗衣机对象,让洗衣机对象完成14.2类和对象​类:相同属性和功能的一类事物。​人是一个类,张三(
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
从一个 10 年程序员的角度告诉你:搞懂 Java 面向对象有多容易?
前言:1)java面向对象语言,面向过程围绕过程(解决问题步骤),面向对象围绕实体(名词,特性(属性),行为(动作、方法))。它们设计思想区别在于关心核心不同的。主流都是面向对象的。实际开发,先按面向对象思想进行设计,具体实现时面向过程(人习惯)2)java怎么支持面向对象呢?a.万物皆对象,所有的类都是Object子类b.java中支
Wesley13 Wesley13
3年前
java高级特性(1)
前言:优秀的代码具备:高性能、可重用、可扩展、易维护、易理解具体实现:高性能:合理使用算法,数据结构等等可重用:封装、继承可扩展:多态易维护、易理解:命名规范注解面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想是将数据作为第
Wesley13 Wesley13
3年前
java语言与jvm虚拟机简介
一、java语言  1.1支持面向对象编程oop    强调支持,因为java同样可以面向过程编程,但java是为oop而生的。    oop的三大特性是:封装、继承、多态。    封装主要针对成员变量而言,oop的思想要求成员变量均为私有,不应该对外能够访问,一个符合oop思想的类应该只有公共方
Wesley13 Wesley13
3年前
java面试考点解析(4):面向对象思想、系统架构设计
\ 一、面向对象思想 \1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:\抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象
Wesley13 Wesley13
3年前
JAVA 基础知识
JAVA纯面向对象语言,有平台无关性,一次编译到处运行,编辑器会把java代码变成中间代码,然后在JVM上解释执行。拥有很多内置的类库,提供了对Web应用开发的支持,具有较好的安全和健壮性。JAVA和C的异同都是面向对象语言使用了面向对象的思想(封装,继承,多态),面向对象的特性(继承和组合)  面向对象有以下特点:  (1
Wesley13 Wesley13
3年前
Java面向对象技术
问题及答案来源自《Java程序员面试笔试宝典》第四章Java基础知识4.2面向对象技术1、面向对象与面向过程有什么区别?看下面一个实例即可:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候依次调用;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而