JAVA 抽象类的实现问题

问题描述

JAVA 抽象类的实现问题

//如果一个类实现接口的部分方法,则该类必须是抽象类;实现接口用implements
interface It1
{
public abstract void f();
public abstract void g();
}

abstract class A implements It1
{
public void f()
{
System.out.println("AAAA");
}

}

public class B extends A
{
public void f()
{
System.out.println("AAAA");
}
}

public class TestInter
{
public static void main(String[] args)
{
//抽象类不能实例化,那么用什么来调用方法呢?
//加了{}后如果只是调用f()方法并不正确,也要调用g();
//错误: <匿名TestInter$1>不是抽象的, 并且未覆盖It1中的抽象方法g()
//通过子类来继承抽象类,然后实例化子类,但是我的为什么错了
//B b =new B();?错误: 非法的表达式开始错误: 需要';'

            B b = new B();
            b.f();
            System.out.println("哈哈");
    }

}`

`

时间: 2024-08-22 09:18:06

JAVA 抽象类的实现问题的相关文章

java继承-JAVA抽象类(新手求解)

问题描述 JAVA抽象类(新手求解) 子类继承了一个抽象类,抽象类中没有无参构造函数,有有参构造.请问子类能实例化么?如果能,怎么做? 解决方案 子类构造方法中使用super()传参,指定一个父类的构造器 假如父类构造器是private修饰的那就没办法继承了. 解决方案二: 能,可以直接使用无参,也可以使用父类的有参构造 解决方案三: 首先,你应该先了解继承的原理,继承的强大在于子类可以继承来自父类的一切可继承的特征和行为,更重要的是子类不仅仅可以继承来自父类的特征和行为,而且还具备自我扩展的能

对象-java 抽象类有段代码没看懂!!!帮忙解释下

问题描述 java 抽象类有段代码没看懂!!!帮忙解释下 自己看视频自学到网络编程,发现下边的代码看不懂,自己也百度了很多,还是没理解好抽象类 OutputStream os=Socket.getOutputSteam(); os.write("加油".getBytes()): 这段代码没看懂,OutputStream抽象类不能直接创建对象,也没有子类去实现,为什么可以直接调用write(byte[] b) 方法? 解决方案 不能创建对象的意思是不能通过new outputstream

java抽象类中私有属性初始化之后与预期结果不一致

问题描述 java抽象类中私有属性初始化之后与预期结果不一致 背景是这样的,项目使用的是Spring MVC类与类之间是通过@Autowired注解进行 注入的,我有一个Email的抽象类 public abstract class Mail { protected boolean isEmailContentValid = true; } 然后有多个子类机型了这个Email抽象类,比如AEmail extends Mail public class MailFactory { @Autowir

java 抽象类与接口的定义

java  抽象类与接口的定义 Jvm : 抽象规范: 一个具体实现 一个运行的虚拟机实例 装载器: 启动类装载器,自定义装载器(继承 java.lang.ClassLoader ) 解析的内型信息放入方法区,对象放入堆,一个新线程,有自己 java 栈放中间数据, pc 计数器. 接口与抽象类深入 java 没有多重继承,意味一个类只能继承一个父类所以绝对必要的时候,才用继承 所以表示相同行为的方法都应该声明为一个接口的的形式,并使用不同的实现类对其进行实现. 缺点:每一个实现类都需要显示的实

java 抽象类与接口(1/2)

java 抽象类与接口 1.       语法上的不同 接口与抽象类在语法上就有着明显的区别: (1)    成员变量 接口没有变量,在接口中定义的成员都是公共常量即public.final.static,即使不显示标识,编译器也会自动加上. 抽象类的成员变量完全依据显示定义的不同而不同,编译器不会做任何的动作去强行限制. (2)    方法 接口的方法都隐含为public和abstract:接口中不能有非抽象的方法,并且方法不能是static.final.以及protected和private

Java基础:浅析Java抽象类和接口的比较

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力.abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意.其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解.对于设计意图的理解是否正确.合理.本文将

Java抽象类与接口的区别

很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题.本文我们将仔细讨论这些话题. 在讨论它们之间的不同点之前,我们先看看抽象类.接口各自的特性. 抽象类 抽象类是用来捕捉子类的通用特性的 .它不能被实例化,只能被用作子类的超类.抽象类是被用来创建继承层级里子类的模板.以JDK中的GenericServlet为例: public abstract class GenericServlet implements Servlet, ServletC

java 抽象类作用-请问各位大神:抽象类出现的原因?

问题描述 请问各位大神:抽象类出现的原因? 为什么会出现抽象类,抽象类的作用是什么呢?举个例子那样最好了. 解决方案 这个问题没办法简单回答. 首先要搞清楚的是继承有什么用,函数重写有什么用.继承和函数重写实现的是代码的复用(一次编写,重复使用) 从最简单的说起.你编写了一个函数,你希望下次还要用,你怎么做?直接调用就是了,是不是? 那么我问你,如果你下次要用,但是代码不完全一样,需要修改下,怎么用?你有两个办法:(1)复制一份代码,再建一个函数.然后在里面改.(2)直接在原来的函数中改,为了保

我是如何理解Java抽象类和接口的

在面试中我们经常被问到:Java中抽象类和接口的区别是什么?然后,我们就大说一通抽象类可以有方法,接口不能有实际的方法啦;一个类只能继承一个抽象类,却可以继承多个接口啦,balabala一大堆,就好像把标准答案熟练的说出来一样. 抽象类和接口这篇文章讲到了他们的区别和联系,它们确实有很多相似的地方,但是从本质上看,或从语言的设计角度来看,这不是它们最本质的区别. 不卖关子,我个人对这两个的理解: 类是具体实例的抽象,比如一个json字符串的抽象;而抽象类就是类的抽象;接口就是抽象类的抽象,接口更