今天看到一道题说实例方法可以直接调用什么?
题目如下:
为了解答这道题:写个程序看一下:
package com.wjy.test; public class Father { public static void publicStaticMethod(){ System.out.println("yes"); } private static void privateStaticMethod(){ } public void publicInstanceMethod(){ System.out.println("yes"); } private void privateInstanceMethod(){ } } package com.wjy.test; public class Son { private static void print(){ System.err.println("I am class method."); } public void invokeClassMethod(){ print(); } public static void main(String args[]){ Father father=new Father(); father.publicInstanceMethod(); father.publicStaticMethod(); Son son=new Son(); son.invokeClassMethod(); } }
A: 实例方法可以调用本类的类方法(如invokeClassMethod()调用了类方法print(),而无论print是不是private的)。
B:实例方法可以调用超类的实例方法(如publicInstanceMethod()),但是若超类的实例方法是private的话就调用不了了。
C:实例方法可以调用超类的类方法(如publicStaticMethod()),但是若超类的类方法是private的话就调用不了了。
D:不用说肯定时错的。
突然一下短路了,不知道实例方法是什么了?查了一下才恍然大悟,原来是这样:(贴出来警示后人)
实例方法也叫做对象方法。 类方法是属于整个类的,而实例方法是属于类的某个对象的。 由于类方法是属于整个类的,并不属于类的哪个对象,所以类方法的方法体中不能有与类的对象有关的内容。即类方法体有如下限制: (1) 类方法中不能引用对象变量; (2) 类方法中不能调用类的对象方法; (3) 在类方法中不能使用super、this关键字。 (4)类方法不能被覆盖。 如果违反这些限制,就会导致程序编译错误。 与类方法相比,对象方法几乎没有什么限制: (1) 对象方法中可以引用对象变量,也可以引用类变量; (2) 对象方法中可以调用类方法; (3) 对象方法中可以使用super、this关键字。 在程序设计中,一些通用的、公用型的方法与类的对象无关,因此常常被作为类方法实现。如Java类库中Math类,其中多数的数学运算操作都被定义成静态方法。因此,可以使用类方法把一些通用的、公用型的方法放在合适的类中,从而很好地将它们组织起来。应用程序中的主方法main就是类方法。
相关推荐
在Python编程语言中,类方法、实例方法和静态方法是面向对象编程的重要组成部分。它们各自有不同的用途和调用方式,帮助我们更好地组织和管理代码。接下来我们将深入探讨这些概念及其用法。 首先,实例方法是类中最...
在深入探讨类方法与实例方法之前,我们先澄清文本中的一些混乱表述,以便更准确地理解这两个概念。类方法和实例方法是面向对象编程中的核心概念,尤其在Java等语言中,它们扮演着至关重要的角色。 ### 类方法 类...
类的方法是指在类中定义的函数,它们可以是实例方法(与特定对象关联)或类方法(静态方法,与类本身相关联)。下面我们将详细讨论类、方法以及相关的知识点。 1. 构造函数:构造函数是类中特殊的方法,用于初始化...
通过java类的路径实例化类并调用方法:仅仅知道类的路径,就可以实例化对象,利用反射机制调用其方法
在Objective-C编程中,类方法和实例方法是两种不同的调用方式,它们各自有特定的使用场景和规则。本文将详细探讨在类方法中使用`self`的关键注意事项,以帮助开发者更好地理解和避免潜在的问题。 首先,理解...
在 C 或 C 中与委托最接近的是函数指针,但函数指针只能引用静态函数,而委托可以同时引用静态方法和实例方法。在后一种情况中,委托不仅存储对方法入口点的引用,还存储对调用其方法的对象的引用。与 C 函数指针...
本文实例讲述了Python操作Oracle数据库的简单方法和封装类。分享给大家供大家参考,具体如下: 最近工作有接触到Oracle,发现很多地方用Python脚本去做的话,应该会方便很多,所以就想先学习下Python操作Oracle的...
C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例 C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例
总的来说,虽然Java中的抽象类不能直接实例化,但我们可以通过继承并实现其抽象方法,或者利用字节码工具和注解处理器在运行时或编译时动态生成新的类来间接达到实例化抽象类的目的。这样的设计允许我们创建更加灵活...
例如,在一个银行系统中, Account 类可以有一个类方法 `calculateInterest`,而每个账户对象都有其自己的 `withdraw` 实例方法。 4. 类的访问控制符 Java 中的访问控制符有四种:public、private、protected 和 ...
这里,我们将讨论 Python 中的面向对象编程基础,包括类、对象、类属性、实例属性、静态方法、类方法和实例方法。 类和对象 类(Class)是对有共性的事物的抽象,例如汽车、人、动物等。对象(Object)是抽象的...
同时,学生还将学习类及其成员修饰符的使用、构造函数的使用、方法的参数传递和返回值的用法,以及类变量与实例变量、类方法与实例方法的区别。 一、类的结构和定义 在 Java 中,类是对象_oriented programming 的...
本实验报告的主要目的是学习使用Java类和对象,掌握类变量和实例变量的区别,以及类方法和实例方法的区别,并了解包和import语句的使用。 一、类和对象的基本概念 在Java语言中,类和对象是基本构成要素。类用来...
根据是否使用`static`关键字修饰,方法可以分为类方法和实例方法。 1. **类方法(静态方法)** - **定义与特点**: - 方法前有`static`关键字修饰的是类方法。 - 类方法可以直接访问类成员变量和调用其他类方法...
理解`static`关键字的关键在于区分类变量和实例变量,以及类方法和实例方法。类变量和类方法与类本身关联,而实例变量和实例方法则与类的每个实例相关联。使用`static`关键字时,需要注意以下几点: - **生命周期**...
python基础训练题,类和方法的概念和实例 类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 方法:类中定义的函数。 类的构造方法__init__():...
方法调用分为两种主要类型:静态方法调用和非静态方法(实例方法)调用。 **1. 静态方法调用** 静态方法是属于类的方法,不依赖于任何特定的对象实例就可以被调用。在Java中,如果一个方法被`static`关键字修饰,...
python 实例方法和类方法的应用 示例
实例方法需要绑定实例,类方法需要绑定类,静态方法不需要绑定任何对象。静态方法和普通方法一样,不需要对谁进行绑定,唯一的区别是调用的时候需要使用实例或类来调用。 四、类变量和实例变量 类变量是供类使用的...
关键字 static 修饰的称为类方法(又称静态方法)和类变量(又称静态变量),而没有 static 修饰的称为实例方法和实例变量。实例方法和实例变量只能通过对象名引用,而类方法和类变量既能通过对象名引用,也能通过...