Java中怎样调用抽象类中的非抽象方法?抽象类只存在非抽象方法
首先,抽象类中肯定是允许只存在非抽象方法的,这是毋庸置疑的。顺带一提的是,存在抽象方法的类一定是抽象类。
今天在搜索调用抽象类当中的非抽象方法时,遇到了一些困难,没有找到直接的代码能够让人茅塞顿开的感悟。非常简单,可能是大佬们都懒得写。
--------------------------------------------------------------------------------------------------------
抽象类中的静态方法,在继承抽象类的实体类当中直接调用;
抽象类当中的非静态非抽象(普通的)方法,在实体类当中创建对象,用对象直接调用。
直接上代码,也方便笔者之后能够查阅,避免忘记。
抽象类tut
package com.test;
public abstract class tut{
public void Method01(){
System.out.println("a method.....");
}
public static void Method02(){
System.out.println("a static method.....");
}
}
实体类oto
package com.test;
public class oto extends tut{
public static void main(String[] args) {
Method02();
oto oto = new oto();
oto.Method01();
}
}
输出
"C:\Program Files\Java\jdk1.8.0_261\bin\java.exe" "-javaagent:D:\Software\IntelliJ IDEA 2020.1.3\lib\idea_rt.jar=64546:D:\Software\IntelliJ IDEA 2020.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_261\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\rt.jar;D:\Software\program\Sping02\ayao_test\target\classes;D:\Software\maven-center\Maven-repo\junit\junit\4.12\junit-4.12.jar;D:\Software\maven-center\Maven-repo\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar" com.test.oto
a static method.....
a method.....
Process finished with exit code 0