ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于面向对象

2021-10-23 03:31:07  阅读:155  来源: 互联网

标签:person void Demo02 面向对象 static 关于 方法 change


面向对象

什么是面向对象

  • 面向过程思想 面向过程是一个很基本的,一步一步走,第一步,第二步怎么走,清晰简单
    适合简单的问题处理
  • 面向对象思想 这是一种分类的思想方式,先看有哪些需求,然后再在各个需求里细分过程
    适合处理复杂问题

面向对象的本质:以类组织代码,以对象组织数据

三大特性:封装 继承 多态

对象 具体的一个类的实例

类 是对对象的抽象表达

类是对象的模板

回顾方法

定义

  • 修饰符
  • 返回类型
// 修饰符 返回类型 方法名 (参数列表){
// 		方法体
//}
  • break和return break是直接结束掉这个循环后面的循环不干了,return是结束掉方法,看到return就是代表方法到此结束,后面的语句都是无效的
  • 方法名 首字母小写 驼峰
  • 参数列表 可变长参数 ...int 这种形式,可变长参数一定实在参数列表的最后一个

调用

  • 静态调用 如果是static的方法,可以直接通过类名去调用这个方法。
  • 非静态调用 如果不是static ,那么需要实例化方法所在的类,通过对象去调用
  • 形参 实参形参是方法被调用接受外部传值的载体,实参是调用方法是给方法传的值
  • 值传递 引用传递
public class Demo01 {
    public static void main(String[] args) {
        int a = 1;
        System.out.println(a);
        change(a);
        System.out.println(a);
    }
    static void change(int a){
        a = 10;
    }
}
public class Demo02 {
    String name;

    public static void main(String[] args) {
        Demo02 person = new Demo02();
        System.out.println(person.name);
        change(person);
        System.out.println(person.name);
    }
    static void change(Demo02 n){
        n.name = "pei";
    }
}

运行结果Demo01是输出了两个1,a没有变化 而Demo02输出了 null 和pei
同样是使用了两个void方法,两者运行却不一样
这是因为在Demo01中,change方法里的a指向的不是main方法里的a,仅仅是把10丢给了形参a
而下面的Demo02就不一样了,那个change方法里的n,它是一个Demo02的实例化后的对象,它指到的就是Demo02 person = new Demo02() 这个里的person,相当于给对象person的name属性赋了pei这个字符串,达到了一个改变的效果

标签:person,void,Demo02,面向对象,static,关于,方法,change
来源: https://www.cnblogs.com/shiranai/p/15441214.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有