精华内容
下载资源
问答
  • 对象调用参数方法
    千次阅读
    2021-09-06 13:32:05

    class Person(object): def init(self, name, age): self.name = name self.age = age

    def driver(self):
        print('开车太好玩了 ,10迈,太快了')

    class Father(Person): # 如果我们现在想在原有父类方法基础上扩展,例如我们现在需要重写一个init方法 # 可以接收 name, age ,gender三个属性 def init(self, name, age, gender): # 在父类方法中已经添加了name,和age我们可不可以直接使用呢??? super().init(name, age) # 在父类方法的基础上我们在添加一个子类方法独有的功能 self.gender = gender

    def driver(self):
        print('我要去天安门完,开挖掘机不让我进')
    ​
    def __str__(self):
        return f'我的姓名是{self.name},我的年龄是{self.age},我的性别是{self.gender}'

    class Son(Father): def driver(self): # 调用Person中的dirver # TypeError: driver() missing 1 required positional argument: 'self' # Person.driver() Person.driver(self) # Monkey.driver(Monkey()) # 从Father类的上一级类开始查找方法,并进行调用 super(Father,self).driver()

        # 调用Father中的dirver
        super().driver()
        # 格式:super(从哪个类的上一级开始查找,self).方法名()
        # 如果类名是当前类,可以省略括号内的内容
        super(Son, self).driver()
        # 书写特有功能

    所有的参数都传递到了Father类中,并且添加为当前对象的属性

    print(Father('Jack', 28, '男')) s1 =Son('xiaoming', 12, '男') s1.driver()

    子类中调用父类方法的三种方式:

    super().方法名() # 只能调用当前类的上一级类中的方法或函数

    类名.方法名(self) # 所使用的类名,必须在当前类的继承关系中

    super(要从哪一个类的上级类开始查询,self).方法名() # 类名必须在继承关系内,如果类名是当前所在的类,则可以将括号内内容省略,就是第一中方式

    class Monkey(object):

    def driver(self):

    print('我在骑自行车')

    #

    m1 = Monkey()

    # 如果使用实例调用实例方法,可以自动将对象传入方法

    m1.driver()

    # 如果使用类调用实例方法,需要手动传递实例到方法内

    Monkey.driver(m1)

    更多相关内容
  • Java 的方法调用、对象调用

    千次阅读 2022-02-02 12:52:57
    JAVA类方法的调用 一、静态方法调用其他方法: 1. 静态方法调用非静态方法 2.静态方法调用静态方法 ...无论是否在同一类内,均需要通过对象调用 //Test类 package main; public class Test { public void IsSon1(..

    一般的,在Java语言中,调用方法有三种方式。
    第一种:通过对象名.方法名进行调用,这是最普通的也是最常见的一种调用方式。
    第二种:通过new关键字调用构造方法,这种是在实例化对象时使用的方式。
    第三种:通过类名.方法名调用,当需要调用的那个方法为静态(有static的)方法时使用。



     

    一、静态方法调用其他方法:
    1. 静态方法调用非静态方法
    无论是否在同一类内,均需要通过对象调用。

     

    //Test类
    package main;

    public class Test {

        public void IsSon1(){//非静态方法
           
    System.out.println("java大爷,你成功调用了你非静态方法里的儿子1");
        }

        public static void main(String[] args) {
           
    Test son1=new Test();//首先要定义一个变量
            son1.IsSon1();//静态方法通过对象调用此类中的非静态方法
            Son son=new Son();//静态方法通过对象调用Son类中的非静态方法
            son.IsSon();//调用 Son类中的IsSon方法

        }
    }

    //Son类
    package main;

    public class Son {
        public  void IsSon(){
           
    System.out.println("java大爷,你成功的调用了你另一个类里的儿子");
        }//Son类里的非静态方法

    }

    运行结果:

    2.静态方法调用静态方法
    同一类内直接调用,不同类内直接通过类名.方法名(参数表)调用

    package main;

    public class Test {

        public static void IsSon2(){//静态方法
         
      System.out.println("java大爷,你成功调用了你静态方法里的儿子2");
        }

        public static void main(String[] args) {
           
    IsSon2();//静态方法直接调用类内的静态方法
            Son.IsSon3();//静态方法通过类名直接调用Son类中的静态方法

        }
    }


    package main;

    public class Son {
        public  static void IsSon3(){
           
    System.out.println("java大爷,你成功的调用了你另一个类里的静态儿子3");
        }//Son类里的静态方法

    }

    运行结果:


     

    二、非静态方法调用其他方法
    1.非静态方法在同一类内调用其他方法
    在同一类内,非静态方法可以直接调用静态方法和非静态方法

    package main;

    public class Test {

        public void Son1(){//非静态方法
           
    System.out.println("java大爷,你成功调用了你非静态方法里的儿子1");
        }
        public static void Son2(){//静态方法
           
    System.out.println("java大爷,你成功调用了你静态方法里的儿子2");
        }
        public void alloutput(){
           
    Son1();//非静态方法直接调用类内的非静态方法△
            Son2();//非静态方法直接调用类内的静态方法△

        }
        public static void main(String[] args) {
            T
    est test = new Test();
            test.alloutput();//前边已学静态方法通过对象调用非静态方法

        }
    }

    运行结果:


    2.非静态方法在不同类之间调用其他方法
    在不同类之间,非静态方法需要通过对象才能调用非静态方法。
    非静态方法既可以通过对象调用静态方法又可以通过类名直接调用(由于对象的调用方式属于非静态调用方式,所以建议使用类名直接调用静态方法)

    package main;

    public class Test {

        public void output(){
           
    Son.IsSon1();//通过类名直接调用Son类中的静态方法,不建议使用对象调用静态方法
            Son son = new Son();
            son.IsSon2();//通过对象调用Son类中的非静态方法

        }

        public static void main(String[] args) {
           
    //同一类中的静态方法调用非静态方法output,前边已经涉及到
            Test test = new Test();
            test.output();

        }
    }


    package main;

    public class Son {

        public  static void IsSon1(){//Son类里的静态方法
            System.out.println("java大爷,你成功的调用了你另一个类里的静态儿子1");

        }

        public  void IsSon2(){//Son类里的非静态方法
           
    System.out.println("java大爷,你成功的调用了你另一个类里的非静态儿子2");
        }
    }


    原文链接:https://blog.csdn.net/plus_left/article/details/83663041

     

    展开全文
  • ①通过类名调用方法static 修饰方法,类名调用②通过对象调用方法不加static修饰,new一个对象,对象调用 方法 1、什么是方法? 类似于C语言中的函数,解决某一个问题 而编写的代码组合。 属于类或对象 比如:...

    方法

    1、什么是方法?

    • 类似于C语言中的函数,解决某一个问题 而编写的代码组合。

    • 属于类或对象

    • 比如: 取款() 存款() 查询()

    2、方法如何定义?方法怎么使用?

    语法格式:

    public static void multi() {}

    访问权限修饰符 修饰符 返回值类型 方法名 (形式参数类型 参数名)

    ①通过类名调用方法

    static 修饰方法,类名调用

    static 修饰符的方法属于类,可以直接通过类名调用。

    比如 :

    public class Demo12{
        //main方法
        public static void main(String[] args){
            Demo12.all();//通过类名调用方法
            }
        }
    
        //eat方法用static修饰,可以通过类名调用all方法
        public static  void all(){
            System.out.println("eat");
        }
    }
    

    ②通过对象调用方法

    不加static修饰,new一个对象,对象调用

    不加static修饰时,方法属于对象,需要通过new对象来调用方法。

    比如:

    package day3;
    public class Demo13 {
        public static void main(String[] args) {
    
            Demo13 demo = new Demo13();
            demo.sleep();
        }
        
        
        //方法不加static修饰,通过new对象来调用方法
        public void sleep(){
            System.out.println("sleep");
        }
    }
    
    展开全文
  • 对象 调用方法

    千次阅读 2018-09-12 16:52:26
    class Cat: # 定义类 对象必须有对应的类 类名使用大驼峰命名法 # 定义对象方法 对象方法需要在对应的类中定义 def eat(self): # 定义对象方法和定义函数类似,只...调用对象方法 引用对象的变量名.方法名() ca...

    class Cat: # 定义类 对象必须有对应的类 类名使用大驼峰命名法
    # 定义对象方法 对象方法需要在对应的类中定义
    def eat(self): # 定义对象方法和定义函数类似,只不过对象方法的第一个形参必须是self
    print(“吃东西”)

    创建对象
    cat1 = Cat()
    调用对象方法 引用对象的变量名.方法名()
    cat1.eat() # 定义对象方法时必须设置第一个形参为self,但是调用时不要设置self对应的实参

    class Cat: # 定义类
    pass

    创建对象
    cat1 = Cat()
    定义属性 首次赋值就会被定义
    cat1.type = “猫”
    print(cat1.type)
    cat1.type = “卡通猫” # 再次赋值,只是改变记录的数据
    print(cat1.type)

    class Cat: # 定义类
    # 定义方法
    def eat(self):
    print(“吃东西”)

    同一个类可以创建多个对象
    创建对象
    tom = Cat()
    tom.eat() # 同一个类的不同对象都可以调用对象方法(可以有相同的行为)
    tom.type = “卡通猫” # 同一个类的不同对象中的属性记录的数据可能是不同的(每个个体对应的数据不同)
    print(tom.type)

    创建另一个对象
    jiafei = Cat()
    jiafei.eat()
    jiafei.type = “家猫”
    print(jiafei.type)

    class Cat:
    def introduce(self): # self 指的是 调用该方法的对象
    “”“自我介绍”“”
    print(“我是 %s” % self.type)
    self.age = 10 # self也可以作为对象来定义对象属性

    创建对象1
    tom = Cat()
    tom.type = “卡通猫”
    tom.introduce() # 解释器 会自动将调用方法的对象作为方法的第一个实参进行传递
    print(tom.age)

    创建对象2
    jiafei = Cat()
    jiafei.type = “家猫”
    jiafei.introduce()
    print(jiafei.age)

    class Cat:
    def init(self, type): # init可以设置自定义参数,用于实现属性的不同初始值
    # 初始化方法
    self.type = type

    def introduce(self):
        """自我介绍"""
        print("我是 %s" % self.type)
    

    创建对象1
    tom = Cat(“卡通猫”) # init自定义形参对应的实参在创建对象的()中传递
    调用对象方法
    tom.introduce()
    print(tom.type)

    jiafei = Cat(“家猫”)
    print(jiafei.type)

    class Cat:
    def init(self, name, age):
    self.name = name
    self.age = age

    def __str__(self):  # 实现该方法后,返回什么内容,打印对象时就显示对应的内容
        return "我的名字 %s, 年龄 %d" % (self.name, self.age)
    

    tom = Cat(“汤姆”, 60)
    print(tom)

    展开全文
  • 对象调用方法的解析过程

    千次阅读 2018-07-21 13:30:41
    弄清楚如何在对象上应用方法调用非常重要。下面假设要调用x.f(args),隐式参数x声明为类C的一个对象。 下面是调用过程的详细描述:  (1)编译器查看对象的声明类型和方法名。假设调用x.f(param),且隐式参数x声明为...
  • PAGE / NUMPAGES Class类 ...Class对象所表示的类或接口的指定已声明方法name参数是一个?String它指定所需方法的简称parameterTypes参数是?Class对象的一个数组它按声明顺序标识该方法的形参类型如果在某个类中声明
  • Python如何使用类对象调用实例方法

    千次阅读 2020-05-06 15:29:40
    在前面的学习中,我总结了...我们知道,实例对象可以调用这三种方法,而类对象只能调用类方法和实例方法,既然如此为何我们还要研究类对象调用实例方法呢?我们先看一个例子: class Dog: def action(self): ...
  • Python类调用实例方法

    千次阅读 2020-12-08 22:27:11
    前面讲过,在 Python 的类体中定义的方法默认都是实例方法,也示范了通过对象调用实例方法。但要提醒大家的是,Python 的类在很大程度上是一个命名空间,当程序在类体中定义变量、方法时,与前面介绍的定义变量、...
  • d = u2.connect() #该方法返回一个UIAutomatorServer类的实例 d(discription = 'Books').click() # ???wtf,怎么对象名字后面带个括号,什么操作? 为了搞懂这个原因,我把代码里原来正确的参数description随便改成...
  • Java调用对象方法

    2021-01-17 20:26:28
    *调用无返回值的方法 对象名.方法名() *调用有返回值的方法 ...*调用参数方法 对象名.方法名(实参1,实参n) *调用且有返回值的方法 返回值类型 变量名 = 对象名.方法名(实参1,实n) ...
  • 面向对象——方法调用

    千次阅读 2020-04-13 12:55:29
    1、方法可以传值类型,引用类型、传可变参数 2、用ref和out将传值类型改为传引用类型。 例1:ref举例 class Program { static void Print(ref int i) { i = 10; } ...
  • java 反射 调用参数方法?

    千次阅读 2021-02-26 14:56:35
    展开全部通过e68a84e8a2ad62616964757a686964616f31333337396236Java反射调用参数方法,这是个测试用的例子,通过反射调用对象方法,代码如下:importjava.lang.reflect.Method;importjava.lang.reflect....
  • this是一个非常灵活的关键字,不会...类中有许多成员,大部分情况下类中直接进行成员调用,但是为了清楚的描述调用是本类属性,会用this.属性表示。 class Person{ String name; int age; public Person(){} ...
  • // 创建构造方法,在new时就给属性传值 public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return thi
  • 怎么用一个对象调用另一个类中对象的方法 比如一个类A ,一个类B,B里面有个方法show(),在main中A a=new A();B b=new B();在A中没有调用B方法的情况下,我想通过a调用B中的show()方法,该怎么实现。初学者,求大神给...
  • 通过Java反射机制调用方法

    千次阅读 2021-03-08 05:51:42
    通过Java反射机制调用方法//20210204写在前面:最近再把Java反射和注释知识点过一遍,在这里记一下重要的点,本文讲述反射机制创建对象调用方法主要任务:使用类反射机制实现对象创建以及方法调用与普通方式实现...
  • java反射调用方法

    2021-02-28 13:37:48
    使用参数 args 在 obj 上指派该对象所表示方法的结果3:hello world!级别的反射调用:package com.dao.Text;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;public class ...
  • 今天遇到一个场景,将不同的方法对象,或是不同类型的对象,都要调用同一个方法,那么这个方法可以创建一个 interface 作为入,然后让不同的对象都 implements 此方法,则可以解决此问题   For example--》  ...
  • 一、使用 对象名.@成员名 访问 Groovy 对象成员、 二、完整代码示例
  • 在TestAssembly命名空间下创建一个Person类,结构如下: using System; using System.Collections.Generic; using System.Linq;...2.重载方法的获取,要在GetMethod中指定参数数量及类型,否则会引发异常.
  • java子类d继承父类c,在子类d调用自己的构造方法时,会先调用父类c的构造方法,是否意味着d的对象调用类c的一般方法时,实际上是先前创造类c的对象在调用这些方法
  • java基础-反射3(反射,反射创建对象,操作对象属性,调用对象方法)前面通过学习,我们了解的运行时类型信息的基本原理,以及通过Class对象和反射来获取运行时类型信息。下面来了解通过反射来创建对象,以及操作...
  • 怎么调用python中的类方法

    千次阅读 2020-12-16 17:29:10
    python中的类用来描述...类方法的隐含调用参数是类,而类实例方法的隐含调用参数是类的实例,静态方法没有隐含调用参数。要想调用类中的方法,首先要定义一个类,python中定义类使用class关键字classA(object):deff...
  • Java方法调用以及参数传递

    千次阅读 2020-10-06 15:02:59
    方法调用参数的传递 1.方法调用 1.1 定义方法的语法 [访问修饰符] 返回值类型 方法名([参数类型 参数1,参数类型 参数2,…]){ ​ 方法体 } 详解: 访问修饰符:用于修饰这个方法调用范围,目前默认public static...
  • 一.Java反射拿到调用对象方法 1.通过Class.forName(“包名+方法的类名”)拿到方法对象; 如:Class<?> clazz = Class.forName("ReflectionTest");  也可以通过实例,获取方法对象...
  • Java中调用对象方法的执行过程

    千次阅读 2017-09-25 20:09:08
    假设调用x.f(param),且隐式参数x声明为C类的对象。需要注意的是:有可能存在多个名字为f,但是参数类型不一样的方法。例如,可能存在f(int)和f(String)。编译器将会一一列举所有类C和其超类中访问属性为public且名...
  • 展开全部一般正常的都是参数多的调用参数少的。有参数的调用无参数的居e68a843231313335323631343130323136353331333365643537多。当然你要无调用的的也可以。你用无,调用有的。那你有的参数你需要怎么传...
  • java this关键字调用构造方法

    千次阅读 2021-02-12 13:22:11
    一 this调用构造方法构造方法之间的调用,可以通过this关键字来完成。格式:this(参数列表);构造方法调用举例:classPerson {//Person的成员属性private intage;privateString name;//无参数的构造方法Person() {}...
  • python怎么调用方法

    千次阅读 2020-11-23 03:38:54
    python中的类用来描述具有...要想调用类中的方法,首先要定义一个类,python中定义类使用class关键字class A(object):def foo(self,x):#类实例方法print "executing foo(%s,%s)"%(self,x)@classmethoddef class_foo(...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,917,503
精华内容 1,167,001
热门标签
关键字:

对象调用参数方法