怎么引用classA
时间: 2023-09-12 21:05:14 浏览: 123
在 Eclipse 中,要引用一个 Java 类,可以按照以下步骤操作:
1. 打开需要引用 ClassA 的 Java 类文件。
2. 在文件的开头添加 import 语句,例如:
```
import com.example.ClassA;
```
这里假设 ClassA 定义在 com.example 包中,如果定义在默认包中则不需要指定包名。
3. 在文件中创建 ClassA 的实例,例如:
```
ClassA myObject = new ClassA();
```
这里假设 ClassA 有一个无参数的构造函数,如果有参数则需要传入相应的参数。
4. 然后就可以通过 myObject 调用 ClassA 的方法或者访问其属性了,例如:
```
myObject.doSomething();
```
其中 doSomething() 是 ClassA 中的一个方法。
这样就可以在 Eclipse 中引用一个 Java 类了。希望这能够帮到您!
相关问题
有如下ClassA和ClassB public class ClassA { public int method(int arg) { return (arg + arg); } } public class ClassB extends ClassA { @Override public int method(int arg) { return (arg * arg); } public static void main(String[] args) { ClassA cla1 = new ClassA(); int guessMe1 = cla1.method(9); System.out.println(guessMe1); ClassA cla2 = new ClassB(); int guessMe2 = cla2.method(9); System.out.println(guessMe2); ClassB cla3 = new ClassB(); int guessMe3 = cla3.method(9); System.out.println(guessMe3); } } 请问guessMe1,guessMe2,guessMe3的值分别为?
在这段代码中:
- ClassA是一个基类,有一个method方法,返回传入参数的两倍;
- ClassB是ClassA的子类,也有一个method方法,覆盖了父类的方法,返回传入参数的平方。
根据Java中的多态性质,在以下代码中:
```
ClassA cla1 = new ClassA();
int guessMe1 = cla1.method(9);
System.out.println(guessMe1);
```
- 先创建ClassA实例,将其引用赋值给cla1;
- 调用cla1的method方法,传入参数9,返回18;
- 打印输出guessMe1的值,为18。
```
ClassA cla2 = new ClassB();
int guessMe2 = cla2.method(9);
System.out.println(guessMe2);
```
- 先创建ClassB实例,将其引用赋值给cla2;
- 因为ClassB是ClassA的子类,所以可以将其引用赋值给ClassA类型的变量;
- 调用cla2的method方法,传入参数9,返回81;
- 打印输出guessMe2的值,为81。
```
ClassB cla3 = new ClassB();
int guessMe3 = cla3.method(9);
System.out.println(guessMe3);
```
- 先创建ClassB实例,将其引用赋值给cla3;
- 调用cla3的method方法,传入参数9,返回81;
- 打印输出guessMe3的值,为81。
所以guessMe1的值为18,guessMe2的值为81,guessMe3的值为81。
#include<iostream> using namespace std; class ClassA{ public: //**********found********** virtual void print( ) // 说明print函数为虚函数 { cout<<"ClassA"<<endl; } }; class ClassB:public ClassA{ public: void print( ) { cout<<"ClassB"<<endl; } }; //**********found********** void func(ClassA &t) { t.print(); } int main() { ClassA testa; ClassB testb; func(testa); func(testb); //**********found********** ClassA* p; // 定义指针p p=&testa; p->print(); //**********found********** p=&testb; p->print(); system("pause"); return 0; }请解释这个代码
这段代码主要演示了虚函数的作用和多态的实现。
在 ClassA 类中声明了一个虚函数 print(),表示该函数可以被子类重写。在 ClassB 类中重写了 print() 函数,输出 "ClassB"。在 func() 函数中,参数为一个 ClassA 类的引用,通过该引用调用 print() 函数,由于 ClassB 是 ClassA 的子类,所以传递 ClassB 的对象时会调用 ClassB 中的 print() 函数,输出 "ClassB"。
在 main() 函数中,先创建了 ClassA 和 ClassB 的对象 testa 和 testb,分别调用 func() 函数,输出 "ClassA" 和 "ClassB"。然后定义了一个指向 ClassA 类对象的指针 p,并分别将其指向 testa 和 testb,调用 p->print() 函数,由于 p 指向的对象不同,因此输出结果也不同,分别输出 "ClassA" 和 "ClassB"。
这就是多态的实现,同一个函数在不同的对象上有不同的表现形式。
阅读全文