2016-04-13 8 views
-1

集計プログラムをコンパイルしようとすると、「class、interface、enum expected」というエラーが表示されます。ここに私のコードです。この問題を解決するのを手伝ってください。私はOOPの概念をJavaで実装しようとしています

class employee 
{ 
    private String name; 
    private String address; 
    private float salary; 

    public employee(String na, String add,float sal) 
    { 
     name = na; 
     address = add; 
     salary = sal; 
    } 

    public void showEmpDetails() 
    { 
     System.out.println("Name " + name); 
     System.out.println("Address " + address); 
     System.out.println("Salary " + salary); 
     System.out.println(); 
    } 

} 

import java.util.vector; 

class company 
{ 
    private String comname; 
    private vector vt; 

    public company(String na) 
    { 
     comname = na; 
     vt = new vector(); 
    } 

    public void addEmployee(employee e) 
    { 
     vt.addElement(e); 
    } 

    public void showComDetails() 
    { 
     System.out.println("Company Name " + comname); 

     int x = vt.size(); 
     int y = 0; 
     while(y<x) 
     { 
      object e = vt.elementAt(y); 
      e.showEmpDetails(); 
      y++; 
     } 
    } 
} 

public class demo 
{ 

    public static void main(String[] args) 
    { 
     employee e1 = new employee("Ashan","Kandy",2000.0f); 
     employee e2 = new employee("Steve","California",2500.0f); 
     employee e3 = new employee("Elon","South Africa",2500.0f); 

     company c1 = new company("Apple"); 

     c1.addEmployee(e1); 
     c1.addEmployee(e2); 
     c1.addEmployee(e3); 

     c1.showComDetails(); 
    } 
} 

注: - エラーは1つだけ表示されます。誰も私になぜ私はj​​avaで複数のパブリッククラスを持つことができないのか教えてくれます。

+0

各クラスがそれ自身のファイルにあると仮定することができます – MadProgrammer

+2

'vector'は' Vector'でなければなりません。それを使用するには非常に重要な理由がなければ、代わりに 'ArrayList'を使うことができます – MadProgrammer

+0

' object'は 'オブジェクト '...次の問題の解決に役立つ[ジェネリックストレイル](https://docs.oracle.com/javase/tutorial/java/generics/)をご覧になりたい場合は – MadProgrammer

答えて

1

あなたのコードには、実際には複数のエラーがあります。あなたの特定のエラーの理由は、importがファイルの先頭で、中間ではないということです。

一つだけのパブリッククラスはファイルごとに許可されている理由の私の理解は次のとおりです。

  1. それは物事がより明確になります。

    クラス名とドキュメントをこのクラスに読み込むことで、ファイル全体がどのような目的で使用されているかをすぐに知ることができます。 C++のように、複数のパブリッククラスを1つのファイルに入れることができる場合は、そのファイルを理解するためにファイルの内部にジャンプする必要があります。

    注意Javaは強力なオブジェクト指向言語です。つまり、Javaのすべてがオブジェクトです。したがって、インポートするときに、ファイルをインポートしています。 1つのファイルに複数のパブリッククラスが含まれていると、より複雑になります。

  2. テストを簡略化します。

    各パブリッククラスはmainの機能を持つことができます。そして、ファイルのいずれかのmainの機能を単にjava Demoで実行することができます。これは本当にいいので、テストコードを書くか、mainに使用例を書いて、このクラスの使い方を他の寄稿者に示すことができます。

Javaの単一のパブリッククラスには、さらに深い理由があります。しかし、これは私の見解です。

+0

ありがとうございます。それは明らかに私の質問に答えた – Ashan

関連する問題