プロが教える店舗&オフィスのセキュリティ対策術

毎度、お世話になります。
VC++では、#define文があります。
javaでdefine文に相当する記述について質問します。

javaでは、PIの場合は下記のimport文を記述しますと、
下記の如く、aにPIの値を代入できると思います。
========================
import static java.lang.Math.PI;
static public double a=PI;
========================

Q1) 自分用のpackageを作成して、例えば、この中にPI4即ち、PI*4を設定する方法を
  お教え頂けますと大変あり難いです。

以上、宜しくお願いいたします。

A 回答 (2件)

#defineに相当する機能というよりここでやりたいことは「定数を定義する方法」ですよね?


MathクラスのPIの定義と全く同じことをすればいいだけです。

pakcage mypackage

public class MyMath {
 public static final double PI4 = Math.PI * 4;
}

//上記を他のソースで使う
package otherpackage

import static mypackage.MyMath.PI4

class MyClass {
 ...
 double a = PI4;
 ...
}
    • good
    • 0

https://docs.oracle.com/javase/jp/6/api/java/lan …
を読むとわかるのですが

public static final double PI
であり、staticでpublicでfinalなフィールドです。
#defineで定義される「マクロ」とは違います。

C++に対応させるなら
public: static const double PI
です。


自分で作るなら、同様に public(または、状況にあわせたアクセス) static final なフールドを定義します。

この回答への補足

質問内容が、不明確かも知れませんので、再度、下記の如く補足説明を
いたします。
#include file_name.cpp
a=ABCD; でaに123456を代入

//file_name.cppの内容
#define ABCD 123456

補足日時:2014/12/14 15:03
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!