ITPub博客

首页 > 应用开发 > IT综合 > 面向对象及方法的调用

面向对象及方法的调用

原创 IT综合 作者:每天和键盘在一起 时间:2023-05-17 18:37:49 0 删除 编辑

面向对象

面向对象编程的本质是:以类的方式组织代码,以对象的组织封装数据

三大特性:

封装

继承

多肽

从认识角度考虑是先有对象后有类,从代码的角度考虑是先有类后有对象,类是对象的模板

方法的调用

同一个包中的类可以直接使用,直接用类名点调用其中的方法

调用本类中的静态方法可以直接用方法名就可以

例如:

public static void main(String[] args)

{ a(); }

 public static void a()

{ System.out.println("我是一个静态方法"); }


调用同一个包中的另一个类中的静态方法,需要用类名点方法名进行调用

public static void main(String[] args){ xuexi.b(); }

调用同一个包中的另一个类中的非静态方法,需要new一个该类的对象,用对象调用他的方法

例如:

public static void main(String[] args)

{ //对象类型 对象名 = 对象值 xuexi xuexi = new xuexi();//new了xuexi类的对象 xuexi.b();//对象调用方法 }

调用本类中的非静态方法,也需要new一个本类的对象,用对象进行调用

例如:

public class lianxi1 { public static void main(String[] args){ //对象类型 对象名=对象值 lianxi1 name = new lianxi1(); name.a(); } public void a(){ System.out.println("我是一个静态方法"); } }

注意:

静态方法是不能调用非静态方法的,因为静态方法是和类一起加载的,而非静态方法创建对象后才存在,所以他们有时间差,静态方法出现的时候非静态方法还没有出现呐

除了这种情况,其他情况的方法调用方法都是可以的

例如:

public static void i(){ a();//掉不出来a方法,因为a是非静态方法 }

值传递

举例说明:


public static void main(String[] args){

        int a=1;

        xx(a);//a执行力此方法后a的值还为1,a只是给这个方法进行了传值,并没有将a本身传给方法,这就是值传递

        System.out.println(a);

    }

    public static void xx(int a){

        a=10;

    }


引用传递

举类说明:


public class Demo05 {

    public static void main(String[] args) {

        Person person = new Person();

        System.out.println(person.name);//输出为空

        Demo05.change(person);

        System.out.println(person.name);//输出对象,这就是引用传递

    }

    public static void change(Person person){

        person.name="对象";

    }

    static class Person{

        String name;

    }

}


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70030112/viewspace-2952831/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2023-05-17

  • 博文量
    12
  • 访问量
    6011