关于面向对象

面向对象

什么是面向对象

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

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

三大特性:封装 继承 多态

对象 具体的一个类的实例

类 是对对象的抽象表达

类是对象的模板

回顾方法

定义

  • 修饰符
  • 返回类型
// 修饰符 返回类型 方法名 (参数列表){
// 		方法体
//}
  • 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这个字符串,达到了一个改变的效果

上一篇:1076 Wifi密码 (15 分)


下一篇:【项目demo02】分页插件的使用