面向对象(成员变量,成员方法)

面向对象思想

  • 概述:面向对象是基于面向过程的编程思想。
    面向过程:强调的是每一个功能的步骤
    面向对象:强调的是对象,然后由对象去调用功能
  • 特点:
    是一种更符合我们思想习惯的思想
    可以将复杂的事情简单化
    将我们从执行者变成了指挥者

面向对象开发,设计,特征

  • 开发:就是不断地创建对象,使用对象,指挥对象做事情。
  • 设计:其实就是在管理和维护对象之间的关系。
  • 特征:封装、继承、多态。

类:成员变量 成员方法
比如:

package cn.manman.com;

public class student {
    String name;//成员变量
    int age;//成员变量
    String address;//成员变量
    //下面的都是成员方法
    public void study(){
        System.out.println("爱学习");
    }
    
    public void eat(){
        System.out.println("爱吃饭");
    }
    
    public void sleep(){
        System.out.println("爱睡觉");
    }
    
}

现在是创建好了成员变量和成员方法,可以如何使用呢?
使用如下:

package cn.manman.com;

public class studentDemo {
    public static void main(String[] args) {
        student student=new student();
        student.eat();
                System.out.println(student.age);
    }
}

我创建了一个测试类,然后我需要把之前创建好的成员方法拿过来,此时只需要调用即可。
接下来我们看给成员变量赋值:

package cn.manman.com;

public class studentDemo {
    public static void main(String[] args) {
        student student=new student();
        student.eat();
        student.age=12;
        student.name="lisi";
        student.address="北京";
        System.out.println(student.name+","+student.age+","+student.address);
    }
}

结果

只需要直接给值就可以;

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

  • 在类中的位置不同
    成员变量:在类中方法外;
    局部变量:在方法定义中或者方法声明上;
package cn.manman.com;

public class bijiao {
    int num=10;//成员变量
    public void show(){
        int num2=20;//局部变量
    }
}

  • 在内存中的位置不同
    成员变量:在堆内存;
    局部变量:在栈内存;
  • 生命周期不同
    成员变量:随着对象的创建而存在,反之消失;
    局部变量:随着方法的调用而存在,调用完毕而消失;
  • 初始化值不同
    成员变量:有默认初始化值;
    局部变量:没有默认初始话值,必须定义赋值之后再可以使用;
    注意事项:
    局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则;

方法的形式参数是类名的时候如何调用

  • 形式参数的问题:
    基本类型:形式参数的改变不影响实际参数;
    引用类型:形式参数的改变直接影响实际参数;
    (1)基本类型:
package cn.manman.com;

public class bijiao {
    public static void main(String[] args) {
        Demo demo=new Demo();
        int result=demo.sum(20, 30);
        System.out.println(result);
    }
}
class Demo{
    public int sum(int a,int b){//这里的参数就是基本类型
        return a+b;
    }
}

(2)引用类型:
如果看到一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象;

package cn.manman.com;

public class bijiao {
    public static void main(String[] args) {
        Demo2 demo2=new Demo2();
        Demo1 demo1=new Demo1();
        demo1.method(demo2);
    }
}
class Demo2{
    public void show(){
        System.out.println("我们爱学习!");
    }
}
class Demo1{
    public void method(Demo2 demo2){
        demo2.show();
    }
}

像上面这样都是引用类型;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容