A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙亚雄 中级黑马   /  2012-8-14 07:24  /  2254 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

定义一个抽象类,类名AaaClass。并在其中定义两个方法,抽象方法aaaMeth()和普通方法meth()。
通过该类的子类来实现该类。谢谢了

5 个回复

正序浏览
本帖最后由 黎健东 于 2012-8-14 13:58 编辑
  1. package com.lee.calc.copy003;

  2. public class Test {
  3.     public static void main(String []args){
  4.         AaaClass b = new BbbClass();
  5.         b.aaaMeth();
  6.         b.meth();
  7.         
  8.         AaaClass c = new CccClass();
  9.         c.aaaMeth();
  10.         c.meth();
  11.     }
  12. }

  13. abstract class AaaClass{
  14.     abstract void aaaMeth();
  15.     void meth(){
  16.         System.out.println("抽象类中的meth方法");
  17.     }
  18. }

  19. class BbbClass extends AaaClass{

  20.     @Override
  21.     void aaaMeth() {
  22.         System.out.println("BbbClass子类实现了抽象父类的aaaMeth方法");
  23.         
  24.     }
  25.    
  26. }

  27. class CccClass extends AaaClass{

  28.     @Override
  29.     void aaaMeth() {
  30.         System.out.println("CccClass子类实现了抽象父类的aaaMeth方法");
  31.         
  32.     }
  33.    
  34. }
复制代码
输出结果:

BbbClass子类实现了抽象父类的aaaMeth方法
抽象类中的meth方法
CccClass子类实现了抽象父类的aaaMeth方法
抽象类中的meth方法

回复 使用道具 举报
我代码以附件形式回复,你看看,应该对你有帮助。

Abstract.zip

3.92 KB, 下载次数: 140

回复 使用道具 举报
/*定义一个抽象类,类名AaaClass。并在其中定义两个方法,抽象方法aaaMeth()和普通方法meth()。
通过该类的子类来实现该类。*/

public class test {
public static void main(String[] args) {
  AaaClass aaa = new subClass();   //这里初始化子类
  aaa.aaaMeth();     //调用aaaMeth方法
  aaa.meth();       //调用Meth方法
}
}
abstract class AaaClass
{
public abstract void aaaMeth();
public void meth()
{
  System.out.println("这是抽象类的普通方法meth");
}
}
class subClass extends AaaClass
{
  @Override
public void aaaMeth()    //在子类中必须要重写这个方法
  {
   System.out.println("在子类中实现了AaaClass的抽象方法aaaMeth");
}
}

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

回复 使用道具 举报
/*
* 定义一个抽象类,类名AaaClass。并在其中定义两个方法,抽象方法aaaMeth()和普通
* 方法meth()。通过该类的子类来实现该类。
* */
abstract class AaaClass{
        int x = 3;
        abstract void aaaMeth();
        public void meth(){
                System.out.println("我是抽象类");
        }
}
class SonAssClass extends AaaClass{
        int x = 4;
        void aaaMeth() {
                int x =5;
                //其实,在这些继承关系中,将每个类中的属性搞清楚之后,应该就没有什么问题
                System.out.println("我重写了父类的aaaMeth方法");
                System.out.println("获取父类对象的x"+super.x);
                System.out.println("获取子类对象的x"+this.x);
                System.out.println("获取本方法的x"+x);
        }
       
}
public class RunAaaClass {
        public static void main(String args[]){
                SonAssClass son = new SonAssClass();
                son.aaaMeth();
                son.meth();
        }
}

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 黄敏 于 2012-8-14 09:12 编辑

还是多看看视频教程吧,里面有详细解答
给个例子你看看

public class Test03 {
        public static void main(String Args[]){
                BbbClass b = new BbbClass();
                int z =100;
                 int sum1 = b.aaaMeth(z);
                System.out.print(sum1);
        }
       
}

abstract class AaaClass{
       
        public void meth(int x, int y){
                int tem = x;
                x = y ;
                y = tem;
        }
       
        public abstract int aaaMeth(int x);
}

class BbbClass extends AaaClass{
       

        public int aaaMeth(int i) {
                // TODO Auto-generated method stub
                if(i==1){
                        return 1;
                }
                else
                        return i+ aaaMeth(i-1);
        }
}

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马