「java普通调用」java直接调用
本篇文章给大家谈谈java普通调用,以及java直接调用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中如何调用其他java文件?
- 2、java中怎么调用抽象类里的普通方法
- 3、java怎么调用方法
- 4、java中在同一类中普通方法可以直接调用普通方法和静态方法吗?
- 5、java中如何调用类?
- 6、java 普通方法可以直接调用静态方法吗
java中如何调用其他java文件?
你所说的java文件是什么文件?如果是java源码文件是不能调用的,但如果是编译后的class文件可以通过类加载器进行加载,然后通过反射调用;但一般会通过实现特定的接口来简化调用过程。一个自定义的类加载器如下:
class MyClassLoader extends ClassLoader {
//类加载器的名称
private String name;
//类存放的路径
private String path = "E:\\bin";
MyClassLoader(String name) {
this.name = name;
}
MyClassLoader(ClassLoader parent, String name) {
super(parent);
this.name = name;
}
/**
* 重写findClass方法,加载特定目录下的类文件
*/
@Override
public Class? findClass(String name) {
byte[] data = loadClassData(name);
return this.defineClass(name, data, 0, data.length);
}
public byte[] loadClassData(String name) {
try {
name = name.replace(".", "//");
FileInputStream is = new FileInputStream(new File(path, name + ".class"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int b = 0;
while ((b = is.read()) != -1) {
baos.write(b);
}
return baos.toByteArray();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
java中怎么调用抽象类里的普通方法
楼上的没有正面回答。想调用basestudentdao中的非抽象方法load,如果load方法是static的,则可以直接basestudentdao.load()就可以了;如果是非static的则必须需要一个继承的非抽象类,然后用这个非抽象类的实例来调用load方法,或者这个非抽象类的实例被cast成basestudentdao,然后调用。
如:继承basestudentdao的非抽象类:basestudentdaosub,可以用一下方法调用:
1、basestudentdaosub
bsds
=
new
basestudentdaosub();
bsds.load();
2、basestudentdao
bsd
=
new
basestudentdaosub();
bsd.load();
当然,也要考虑这个方法应该是public或protected的。如果是private的就一切免谈了。
java怎么调用方法
抽象类: 动物 有方法 cry();
具体类1: 猫 extends 动物 实现方法cry()
具体类2: 狗 extends 动物 实现方法cry()
动物 dog = new 狗();
动物 cat = new 猫();
cat.cry();//结果是喵喵~ 叫
dog.cry();//结虹是旺旺~ 叫
由于dog是new 出来的是狗 而cat是new出来的猫,所以虽然大家都属于动物,但其实不是同一种动物。 并且想让狗学猫叫,猫学狗叫是不可能的
动物 dog=new 狗(); 其实相当于理解成以下两条语句
1。狗 dg = new 狗();
2。动物 dog=(动物)dg;//将dg的狗类型转化成了动物类型
所以调用时当然只会调用狗的方法旺旺旺,而不会去调用其它动物的方法!
所以问题的关键在于生成时是 new 狗还是new 猫! 因为动物是不能被new出来的(抽象类不能实例化)所以我们就能分出执行的是哪个方法;
请参考
java中在同一类中普通方法可以直接调用普通方法和静态方法吗?
可以,非常可以!
你把这事简单想成,先来后到,就容易多了!
静态方法,以及静态成员,都会比普通类,方法,成员,优先进入内存的!
(后进来的)调用(先进来的),方法,是绝对可以的,理所应当,因为他早早的就进内存了!
它调用自己同类的普通方法,也是可以的,因为他们一起来的!
反过来,你用(静态)去调用(普通)方法,那是万万不可的,因为先到的怎么可能去调用还没有进来的方法呢?
是不是很容易理解了?
java中如何调用类?
一、本类中的直接方法名调用,不管是public还是private或protected。
二、其他类中的如果是public的话,直接其他类的对象调用即可。
三、如果是static的话直接其他类名加方法名调用。
Java:
是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
java 普通方法可以直接调用静态方法吗
可以的,因为创建对象的时候必然加载了
静态方法
,所以普通方法可以调用。但静态方法不能访问普通方法,因为不能保证内存中分配了普通方法的空间
java普通调用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java直接调用、java普通调用的信息别忘了在本站进行查找喔。
发布于:2022-12-18,除非注明,否则均为
原创文章,转载请注明出处。