[英]error: cannot find symbol, Object declared, but cant see public variable
我正在
systemB\Plumber.java:44: error: cannot find symbol
FilterOut.Connect(FilterWildPoints.pipe1);
^
symbol: variable pipe1
location: variable FilterWildPoints of type MiddleFilter
systemB\Plumber.java:56: error: cannot find symbol
FilterWildPoints.pipe1.start();
^
symbol: variable pipe1
location: variable FilterWildPoints of type MiddleFilter
2 errors
即使您,FilterWildPoints也具有公共成員變量pipe1。
一個好主意是讓“狂點過濾器”將流分成另外兩個管道,並將其中一個管道連接到輸出。
Plumber.java:
package systemB;
public class Plumber
{
public static void main( String argv[])
{
SourceFilter FilterIn = new SourceFilter("./datasets/FlightData.dat");
MiddleFilter FilterTemperature = new MiddleFilterTemperature();
MiddleFilter FilterAltitude = new MiddleFilterAltitude();
MiddleFilter FilterWildPoints = new MiddleFilterWildPoints();
SinkFilter FilterOut = new SinkFilter("./OutputB.dat");
FilterOut.Connect(FilterWildPoints.pipe1);
FilterWildPoints.Connect(FilterAltitude);
FilterAltitude.Connect(FilterTemperature);
FilterTemperature.Connect(FilterIn);
FilterIn.start();
FilterTemperature.start();
FilterAltitude.start();
FilterWildPoints.pipe1.start();
FilterOut.start();
} // main
} // Plumber
MiddleFilterWildPoints.java:
package systemB;
import java.nio.ByteBuffer;
public class MiddleFilterWildPoints extends MiddleFilter
{
public MiddleFilter pipe1;
public MiddleFilter pipe2;
MiddleFilterWildPoints()
{
this.pipe1 = new MiddleFilter();
this.pipe2 = new MiddleFilter();
}
//...
} // MiddleFilter
我對Java不太熟悉,需要使用它進行賦值,但找不到錯誤。
您已將FilterWildPoints
聲明為MiddleFilter
,其中沒有pipe1
字段。
而是使用類型MiddleFilterWildPoints
聲明FilterWildPoints
:
MiddleFilterWildPoints FilterWildPoints = new MiddleFilterWildPoints();
Java編譯器僅查看聲明的類型。
最好遵循變量名的標准Java命名約定,以小寫字母開頭。 即
MiddleFilterWildPoints filterWildPoints = new MiddleFilterWildPoints();
這樣可以更容易地區分類名和變量名。
您必須實例化對象MiddleFilter。 這些實例將具有自己的屬性。 在您嘗試使用名為Pipe1的MiddleFilter類中的靜態字段。 (靜態在同一類的所有實例中都是相同的)。 要解決此問題,請創建MiddleFilter middle = new MiddleFilter,然后使用middle.pipe。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.