问题:实现继承的抽象方法

  今早在学习过程中,在实现继承的抽象方法时,明明已经实现了,但还是会报错。

  代码如下:

package com.example.listview;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity {

	private List<Picture> pictureList = new ArrayList<Picture>();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		initPicture();
		PictureAdapter adapter = new PictureAdapter(MainActivity.this,
				R.layout.picture_item, pictureList);
		ListView listView = (ListView) findViewById(R.id.list_view);
		listView.setAdapter(adapter);
		listView.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view, int position,
					long id) {
				// TODO Auto-generated method stub
				Picture picture = pictureList.get(position);
				Log.d("MainActivity","您点击了 : "+picture.getName());
				Toast.makeText(MainActivity.this, "您点击了 : "+picture.getName(),
						Toast.LENGTH_SHORT).show();
			}

		});
	}

	private void initPicture() {
		// TODO Auto-generated method stub
		Picture android = new Picture("Android", R.drawable.android);
		pictureList.add(android);

		Picture apple = new Picture("Apple", R.drawable.apple);
		pictureList.add(apple);

		Picture safeMgr = new Picture("SafeMgr", R.drawable.guanjia);
		pictureList.add(safeMgr);

		Picture linux = new Picture("Linux", R.drawable.linux);
		pictureList.add(linux);

		Picture vcr = new Picture("VCR", R.drawable.shexingji);
		pictureList.add(vcr);

		Picture set = new Picture("Set", R.drawable.shezhi);
		pictureList.add(set);

		Picture windows = new Picture("Windows", R.drawable.windows);
		pictureList.add(windows);

		Picture music = new Picture("Music", R.drawable.yinyue);
		pictureList.add(music);

		Picture game = new Picture("Game", R.drawable.youxi);
		pictureList.add(game);

		Picture camera = new Picture("Camera", R.drawable.zhaoxiangji);
		pictureList.add(camera);
	}
}

  报错:

  抽象方法实现:

  报错提示:

  

  实在找不到错误,然后到QQ群里询问,才知道抽象方法的实现需要自动添加,不能复制或手打。当我删掉自己手打的代码,才用自动添加实现时,就没有报错误了。询问这是为什么,就没有人回答我了。。是这个问题太弱智了吗?

  求解。谢谢

  

时间: 2024-11-05 12:24:46

问题:实现继承的抽象方法的相关文章

必须实现继承的抽象方法

包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法.注意,抽象类和普通类的主要有三点区别: 1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public. 2)抽象类不能用来创建对象: 3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法.如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类. 原文地址:https

继承和抽象方法

抽象方法,就是加上abstract关键字,然后去掉大括号,直接分好结束 抽象类,抽象方法所在的类,必须是抽象类才行,在Class 之前写上abstract即可 如何使用抽象类和抽象方法1.不能直接创建new抽象类对象 2.必须用一个子类来继承抽象父类 3,子类必须覆盖重写抽象父类当中的所有抽象方法 覆盖重写(实现):去电抽象方法的abstract关键字,然后补上方法体大括号 在父子类的继承关系当中,如果成员变量重名,则创建子类对象时,访问有两种方式 直接通过子类对象访问成员变量 等号左边是谁就优

面向对象、继承、抽象方法重载知识点整理

面向过程.面向对象 面向过程:从开始到结束自己独立完成 面向对象:将一个事物划分为单体来各自实现区域性的功能,最后通过调用组合完成 类.对象 类:某一些具有共同特征的物体 对象:指某一种具体的物体,属于某一个类 类成员(成员属性,成员方法) 类里面只包括属性和方法 使用属性的格式为:$对象->属性名(属性名前不加$符号) 方法直接在类里面定义 静态属性.静态方法 在定义属性的时候,前面加上static就是静态属性,只属于类本身 静态属性的使用:类 :: $静态属性名(::双冒号) 静态方法也是只

JAVA基础——面向对象三大特性:封装、继承、多态

JAVA面向对象三大特性详解 一.封装 1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: 只能通过规定的方法访问数据.     隐藏类的实例细节,方便修改和实现. 3.封装的实现步骤 需要注意:对封装的属性不一定要通过get/set方法,其他方法也可以对封装的属性进行操作.当然最好使用get/set方法,比较标准. A.访问修饰符 从表格可以看出从上到下封装性越来越差. B.this关键字 1.this关键字代表当前

类和对象、封装、继承、多态

? 类和对象 ? 类和对象的概念 类:客观存在的,抽象的,概念的东西.一个类可以被定义为描述行为的模板: 对象:对象是具体的,实际的,代表一个事物.对象具有状态和行为. 类是对象的模板,对象是类的一个具体实体. 定义Java中的类 一个类可以包含以下任意变量类型. a)局部变量: 方法里面,构造函数或块中定义的变量称为局部变量.该变量将被声明和初始化的方法中,当该方法完成该变量将被销毁. b)实例变量: 实例变量都在一个类,但任何方法之外的变量.这些变量在类被加载的实例化.实例变量可以从内部的任

小学生之面向对象的三大特征(封装、继承、多态)

在前一篇文章中,我们讲了面向对象的特征之一(封装),那么今天我们来了解面向对象的剩余两大特性. 一.继承 1.定义 继承就是从父类中获取一些公开的成员,如方法和属性.C#中只允许继承一个父类,但允许继承多个接口.如果子类继承接口,则必须实现接口中定义的所有公开成员. 公开成员是指在父类中定义为public的成员(public的作用域可在子类中生效,而private作用域则不可) 子类继承父类: 子类拥有父类非Private的属性和功能: 子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功

Java抽象类抽象方法

1.为什么需要抽象类?如何定义抽象类? *是一种模板模式.抽象类为所有子类提供了一个通用模板,子类可以在这个模板基础上进行扩展. *通过抽象类,可以避免子类设计的随意性.通过抽象类,我们可以做到严格限制子类的设计,使子类之间更加通用. 2.要点: 有抽象方法的类只能定义为抽象类. 抽象类不能实例化,及不能用new来实例化抽象类. 抽象类可以包含属性,方法,构造方法.但是构造方法不能用来new实例,只能用来被子类调用. 抽象类只能用来继承. 抽象方法必须被子类实现,同时也可以用抽象子类继承抽象父类

Java编程里类的继承

今天,我们将要讨论的内容是Java里面类的继承的相关概念. 说到继承,我相信大家都不陌生.生活中,子承父业,子女继承父母的财产,这就是继承.实际上,Java里的继承也是如此.对于一个类来说,它的数据成员和方法就是它的财产,而申明另一个类接收了这个类的财产,这就是Java里的继承. 接下来我将就几个方面,谈一谈继承的相关知识. 一.继承的基本格式与意义 在上文,我们了解了什么叫做继承.那么,如何使用继承? 继承的关键词是extends.继承的一般格式为:public class 类名 extend

.net学习笔记--使用抽象方法实现多态

在使用抽象方法实现多态之前,我们必须知道一些知识点: 1.抽象类不能被实例化: 2.抽象类可以包含非抽象成员,它们可以由其子类继承调用. 我们可以先创建一个Person的抽象类,代码如下: 1 abstract class Person 2 { 3 4 public Person() { } 5 6 public Person(string name,int age) 7 { 8 Name = name; 9 Age = age; 10 } 11 string name;12 13 public