javaでフィールド領域で処理を実装する方法ってありますか?
Posted: 2017年3月11日(土) 12:24
static初期化子とかじゃなくて、クラスのフィールド領域で例えばx[0]=1;みたいな代入処理を行うことです。
そんなコードを見つけてしまったもんで疑問に思いました。
そんなコードを見つけてしまったもんで疑問に思いました。
package java1;
class p
{ //フィールド領域 "産医師異国に向こう産後厄なく産”
public static final double My_PI=3.141592653589793;
//自然対数の底 e "鮒一鉢二鉢一鉢二鉢"
public static final double My_E=2.718281828;
static double[] ax={123.45,789.12};
//メソッド領域
static void x0()
{
System.out.println(ax[0]);
}
static void x1()
{
System.out.println(ax[1]);
}
}
public class javap1 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
p.x0();
p.x1();
System.out.println(p.My_E);
System.out.println(Math.sin(p.My_PI/4));
}
}
using System;
namespace java1
{
class p
{
public static double My_PI=3.141592653589793;
public static double My_E=2.718281828;
static double[] ax={123.45,789.12};
//メソッド領域
public static void x0()
{
System.Console.WriteLine(ax[0].ToString());
}
public static void x1()
{
System.Console.WriteLine(ax[1].ToString());
}
}
static class javap1
{
static void Main()
{
// TODO
p.x0();
p.x1();
System.Console.WriteLine(p.My_E.ToString());
System.Console.WriteLine(System.Math.Sin(p.My_PI/4).ToString());
}
}
}
D:\z\3g\11\cs>C:\windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe cs1.cs
Microsoft (R) Visual C# Compiler version 4.6.1586.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.
This compiler is provided as part of the Microsoft (R) .NET Framework, but only supports language versions up to C# 5, which is no longer the latest version. For compilers that support newer versions of the C# programming language, see http://go.microsoft.com/fwlink/?LinkID=533240
D:\z\3g\11\cs>cs1.exe
123.45
789.12
2.718281828
0.707106781186547
D:\z\3g\11\cs>pause
続行するには何かキーを押してください . . .
仕様書上存在しないと思われるフィールド領域という言葉を使っておられる上,メソッド領域なる言葉も仕様書上該当しそうな言葉を見付けられないのですが,どこに書いてあるのでしょうか。
本当に x[0] = 1; ですか?java大好き さんが書きました:static初期化子とかじゃなくて、クラスのフィールド領域で例えばx[0]=1;みたいな代入処理を行うことです。
class Hoge {
int x[] = new int[3];
{ x[0] = 1; }
}
class Main {
public static void main(String[] args) {
Hoge h = new Hoge();
System.out.println(h.x[0]);
}
}
コードをコピペしてください。java大好き さんが書きました:そんなコードを見つけてしまったもんで疑問に思いました。