`
luzl
  • 浏览: 571586 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

两个不容易发现的Abstract继承和Runnable实现错误

    博客分类:
  • Java
阅读更多
下面的的这个错误在什么地方?编译肯定会报错的.
package scjp;

public class Demo170 implements Runnable{  
	public void run(Thread t){  
		System.out.println("Running");  
	}
	
	public static void main(String[] args){  
		new Thread(new Demo170()).start();  
	}
}  



下面的这个又是什么错误:
package scjp;

abstract class AbstractIt{
	abstract float getFloat();
}

public class Demo178 extends AbstractIt{  
	private float f1=1.0f;
	private float getFloat(){
		return f1;
	}  
}  

1
0
分享到:
评论
2 楼 luzl 2008-11-25  
第二个错误的原因是子类降低了父类方法的visibility,在抽象类中是default,而在子类中是private,但是如果你把父类中的方法改成private的话又会出现另外一个问题:抽象类中的方法要么public,要么protected,不能private.(当然default也是可以的,是什么都不加)
1 楼 luzl 2008-11-25  
第一个错误原因是没有实现接口方法:
@Override
public void run() {
     // TODO Auto-generated method stub

}

相关推荐

    2022年Java方向常见面试题.doc

    多线程有两种实现措施,分别是继承Thread类和实现Runnable接口。 2. 同步的实现措施 同步的实现措施有两种,分别是synchronized、wait和notify。 三、字符串操作 1. 字符串反转 可以使用StringBuffer的reverse()...

    corejava_面试题

    封装是隐藏对象的属性和实现细节,仅对外提供公共访问方式;继承是子类继承父类的特性;多态是指允许不同类的对象对同一消息做出响应;抽象是将复杂对象简化为更简单的部分。 Java实现多态的机制: Java中实现多态...

    JAVA面试宝典2013版

    20. 接口可以继承接口,但是一个类不能同时继承一个抽象类和实现另一个接口。抽象类可以实现(implements)接口,但是不能继承具体的类(concrete class)。抽象类中可以有静态的main方法。 21. 在写clone()方法时...

    java 2012面试题

    但在Java中,线程的实现除了继承Thread类和实现Runnable接口外,还可以使用Callable接口配合FutureTask来实现,同步可以通过synchronized关键字、Lock接口实现以及使用java.util.concurrent包中的各种工具类。

    java/框架/数据库面试总结

    Java中创建线程有两种方式:继承Thread类和实现Runnable接口。实现Runnable接口更灵活,可以避免单继承限制,同时有利于代码的复用和多线程共享资源。 【接口实现】 接口是完全抽象的,其中所有方法默认都是抽象的...

    Java抽象类和接口 Java全栈

    在Java编程语言中,抽象类和接口是两个重要的概念,它们用于实现代码的多态性和模块化设计。本文将深入探讨这两个概念,以及它们在Java全栈开发中的应用。 首先,我们来理解抽象类(Abstract Class)。抽象类是不能...

    抽象类和接口 学习

    抽象类和接口是面向对象编程中两个非常重要的概念,它们各有优势和适用场景。正确地理解和使用抽象类与接口,可以帮助开发者构建更加灵活、可扩展和易于维护的系统。希望本文的讲解能够帮助您更好地掌握这两个概念,...

    j2se基础(各种较难理解的概念区别)

    下面我们将详细探讨这两个概念及其区别。 1. 接口(Interface) 接口是一种完全抽象的类型,它仅包含方法签名(方法名、返回类型和参数列表),而没有方法实现。在Java中,接口是多继承的唯一方式,一个类可以实现...

    超级有影响力霸气的Java面试题大全文档

     JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要...

    Java源代码:抽象类和接口

    让我们深入探讨这两个概念及其在Java中的应用。 首先,我们来理解抽象类。在Java中,抽象类是一种不能被实例化的类,它主要用来作为其他类的基类,提供部分或全部未实现的方法。抽象类通过使用`abstract`关键字声明...

    Java面试宝典2013版

    39. Java中实现线程的方法有继承Thread类和实现Runnable接口,同步方法使用synchronized关键字。 40. sleep()是Thread类的方法,使线程暂停执行指定的时间,而wait()是Object类的方法,让线程在等待其他线程执行一...

    java实验 面向抽象与接口编程

    在这个实验中,我们将深入探讨这两个关键概念,并通过实践来理解它们在实际编程中的应用。 首先,让我们来理解什么是面向抽象。在编程中,抽象是指将复杂的问题或系统分解为更小、更易于管理的部分,这些部分被称为...

    抽象类和接口 测试结果

    首先,抽象类(Abstract Class)是不能被实例化的类,它通常包含一个或多个抽象方法,这些方法没有具体的实现,由子类来完成。抽象类是为了解决继承问题,提供了一种模板设计,使得子类可以继承并扩展其功能。在Java...

    Java面向对象重要概念小结.docx

    继承允许一个类(子类)从另一个类(父类)获取属性和方法,从而实现代码的重用。Java只支持单继承,即一个类只能直接继承一个父类,但可以实现多个接口。 5. **多态(Polymorphism)**: 多态是指同一消息可以被...

    简答题.docx

    6. **封装**是面向对象的基本特征之一,它隐藏对象的属性和实现细节,仅对外提供公共访问方式。封装可以保护数据免受外部非法访问,提高代码的安全性和可维护性。 7. **字符串类**在Java中最常用的有两个:`String`...

    Java软件工程师面试宝典

    接口可以继承一个或多个接口,抽象类可以实现一个或多个接口,但抽象类不能继承具体类,抽象类中可以有静态的main方法。 21. 编写clone方法时通常包含的代码? 通常是super.clone(),用于调用父类的clone方法。 22...

    java面试宝典

    31. Java中有两种创建线程的方法:继承Thread类和实现Runnable接口。 32. 使用synchronized关键字修饰同步方法。 33. sleep()方法让线程睡眠,wait()方法释放锁资源并等待。 34. 同步和异步的区别在于同步是指一个...

    2016-2017第2学期《Java应用程序开发》期末考试A卷及参考答案

    将一个对象赋值给另一个变量,实际上是复制了对象引用,两个变量将指向同一个对象实例。使用new关键字可以创建一个新的对象实例。 - Java多继承问题:Java不支持传统意义上的多重继承,即一个类不能同时继承多个类...

    Java面试宝典2017pdf

    45. 在Java中,创建线程的方法包括继承Thread类和实现Runnable接口,修饰同步方法的关键字是synchronized。 46. sleep是Thread类的方法,wait是Object类的方法。stop和suspend不推荐使用是因为它们可能导致对象锁...

Global site tag (gtag.js) - Google Analytics