java中 抽象类里面可以没有抽象方法吗?为什么
发布网友
发布时间:2022-04-28 23:43
我来回答
共2个回答
热心网友
时间:2022-06-25 15:55
这事我也疑问过,我认为这么存在自然有它的道理,我分析给你看!
(仅仅我个人分析,我是初学者,不足之处还请指点)
1.抽象类有个特点:
无法被创建对象,如果抽象类里面放了很多非抽象方法,可以利用这一点!
2.abstract无法和final共存修饰类;但是抽象类里面可以用final与static修饰变量和方法!
3.根据上面两个特点:
抽象类里面可以放一些不想被修改的方法,
也不想被创建对象,
又可以直接调用;
也无法继承!
所以就有了这样的类!(至于这中类到底有什么作用,我也不知道,但是他是可以直接拿来就用的)
abstract class A
{
private final static String name="名字";
private final int age=10;
private A(){}//确保不被继承!
public final static String getName()
{
return name;
}
public final static void show()
{
System.out.println(name);
}
}
方法只是一个演示,别被方法误导,我猜这样的类,方法肯定是用的很多的!
热心网友
时间:2022-06-25 15:56
可以。你只定义里面啥都不写都行。
抽象类必须要有抽象方法吗
抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象。抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。当一个方法为抽象方法时,意味着这个方法应该被子类的方法所重写,否则其子类的该方法仍然...
java中 抽象类里面可以没有抽象方法吗?为什么
无法被创建对象,如果抽象类里面放了很多非抽象方法,可以利用这一点!2.abstract无法和final共存修饰类;但是抽象类里面可以用final与static修饰变量和方法!3.根据上面两个特点:抽象类里面可以放一些不想被修改的方法,也不想被创建对象,又可以直接调用;也无法继承!所以就有了这样的类!(至于这中类到底有什么...
java抽象类必须有抽象方法吗
抽象类中不一定包含抽象方法,但是包含抽象方法的类一定要被声明为抽象类。抽象类本身不具备实际的功能,只能用于派生其子类。抽象类中可以包含构造方法, 但是构造方法不能被声明为抽象。抽象类不能用final来修饰,即一个类不能既是最终类又是抽象类。
java中,抽象方法一定要在抽象类中吗???
抽象类中可以没有抽象方法,但是抽象方法一定在抽象类中。因为抽象方法和抽象类一样,不能被实例化。
Java 中,抽象类可以不含抽象方法吗?
抽象类可以不含抽象方法,示例代码如下 但是含抽象方法的类一定是抽象类(或者接口)另注:①java允许类、接口或者成员方法具有抽象属性,但不允许成员域或构造方法具有抽象属性 ②如果一个类不具有抽象属性,则不能在该类的类体中定义抽象成员方法 ...
抽象类一定要有抽象方法吗
1、抽象类中不一定要有抽象方法。2、在编程语句中用 abstract 修饰的类是抽象类。抽象类是不完整的,它只能用作基类,不能生成对象。抽象类可以包含抽象方法、非抽象方法和抽象访问器。可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。
抽象类必须提供抽象方法吗
在Java中,抽象类可以包含抽象方法,但并不是必须的。一个抽象类可以不含任何抽象方法,仅仅作为其他类的父类提供一些共同的属性和方法。然而,如果一个类中包含至少一个抽象方法,那么该类就必须被声明为抽象类。抽象方法是一种没有实现代码的方法声明,它只定义了方法的名称、参数列表和返回类型,具体...
抽象类中是否可以定义非抽象方法???
抽象类不能用新的实例化对象,抽象方法只允许不能实现的声明。如果一个类包含抽象方法,那么这个类必须用抽象修饰,当然,抽象类也可以没有抽象方法。抽象类中不存在可以用来阻止对象生成此类的抽象方法。Java中的抽象方法是一种用抽象修饰的方法,它只声明返回的数据类型、方法名和所需的参数,没有方法...
java 抽象类中可以定义哪些成员变量和函数
都可以,抽象类中可以包含抽象方法,但是不是一定要包含。一个抽象类可以没有抽象方法都行。如果一个类中包含了一个抽象方法,那么这个类一定是抽象类。抽象类中能包含的与普通类没什么根本区别。1.如果一个类被定义为抽象类,且没有包含任何抽象方法,(也就是说该抽象类已经都实现了这些方法),...
抽象类里的方法只能为抽象方法吗?
抽象类不一定说只能有抽象,也可以有已实现的方法,比如你那图中的选择题的代码,这就是一个抽象类,其中那个要你选择的填空的方法就是抽象方法,因为方法后面没有方法体,既没有{xxxx}这样的括号括住,紧随的只有个;结尾,所以选择c。除了这个抽象方法外,你还能看到有个getName方法,这个明显就不是...