java - Java中的继承

标签 java inheritance methods subclass superclass

我刚刚学习如何在 Java 中使用继承。该程序的目的是编写包含有关某些日志条目的信息的类,并提供设置和获取适当信息的方法。如果需要更正,请告诉我。

ArithmeLog.java

//super class ArithmeLog with three functions to capture three instances

import java.util.*;

import java.text.*;

public class ArithmeLog {

 public ArithmeLog() {

 }



 public void captid1(String a) {

      System.out.println("");

 }



 public void captid2(String SongName) {

      System.out.println("");

 }

 public void Date() {

      Date capttim = new Date( );

      SimpleDateFormat formt = new SimpleDateFormat

 ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");

      System.out.println("Time is : " +

formt.format(capttim));

   }

    }

SongLog.java

//class SongLog which inheriting ArithmeLog class

import java.util.*;

import java.text.*;

public class SongLog extends ArithmeLog {

 public SongLog() {

      super();

      System.out.println("");

 }



 @Override

 public void captid1(String SongID) {

      System.out.println("SongID is: "+SongID);

 }



 @Override

 public void captid2(String SongName) {

      System.out.println("Song name is: "+SongName);

 }

 @Override

 public void Date() {

      Date capttim = new Date( );

      SimpleDateFormat formt = new SimpleDateFormat

  ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");

      System.out.println(" Date and time is : " +

  formt.format(capttim));

 }

 }

 AdLog.java

// AdLog class which inheriting ArithmeLog class

import java.util.*;

import java.text.*;

 public class AdLog extends ArithmeLog {

 public AdLog() {

      super();

      System.out.println("");

 }



 @Override

 public void captid1(String AdvertisementID) {

 System.out.println("AdvertisementID is:"+AdvertisementID);

 }



 @Override

 public void captid2(String AdvertiserID) {

      System.out.println("AdvertiserID is:"+AdvertiserID);

 }

 @Override

 public void Date() {

      Date capttim = new Date( );

      SimpleDateFormat formt = new SimpleDateFormat

 ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");

      System.out.println(" Date and time is : " +

 formt.format(capttim));

 }

 }

  Mainpgm.java

// main class creating objects of classes and calling methods

public class Mainpgm {

 public static void main(String[] args) {

      //creating first object of classes

      ArithmeLog animal = new ArithmeLog();

      AdLog ao1 = new AdLog();

      SongLog so1 = new SongLog();

      System.out.println();

      ao1.captid1("1");

      ao1.captid2("7");

      ao1.Date();

      so1.captid1("1");

      so1.captid2("songg1");

      so1.Date();

      //creating second object of classes

      AdLog ao2 = new AdLog();

      SongLog so2 = new SongLog();

      ao2.captid1("2");

      ao2.captid2("ad2");

      ao2.Date();

      so2.captid1("2");

      so2.captid2("songg2");

      so2.Date();

      //creating third object of classes

      AdLog ao3 = new AdLog();

      SongLog so3 = new SongLog();

      ao3.captid1("3");

      ao3.captid2("ad3");

      ao3.Date();

      so3.captid1("6");

      so3.captid2("songg3");

      so3.Date();



    }

  }

最佳答案

根据您的评论,您是否将所有这些内容都保存在 1 个文件中?

每个“部分”都应位于其自己的文件中。因此,一个名为 ArithmeLog.java 的文件,其下面的所有内容都与 SongLog.java 对齐,然后是一个名为 SongLog.java 的文件,其中包含下面的所有内容等等。

关于java - Java中的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35471886/

相关文章:

java - 无法实现的接口(interface)方法的正确行为

python - 动态添加基类?

c# - “删除”基础成员?

objective-c - PDFPage 子类上没有调用 init 吗?

java - Java中内部类方法与实例方法的区别

java - 为什么我的程序无法识别我的方法?

java - 以编程方式提取方法的内容

java - 使用 SeekBar 的进度变化覆盖 WebView

java - 如何在另一个类中使用来自 'MainActivity class' 的 Intent 传递数据,而不扩展任何类

java - 如何在Java中访问WADL文件中的方法?