私は同じクラス内のメソッドを継承したいです。 connection()
を作成しました。これをremotecmnd()
メソッドから継承したいと考えています。私はthis.connection()
を使用しましたが、まだそれを取得していません。 connection()
では、私はsocket変数とdataoutputstream変数を宣言しました。しかし、remotecmnd()
はそれを継承することはできません。だからどうしたらいいの?同じクラス内でメソッドを継承する方法は? JAVA
public void remotecmnd(){
this.connection();
shutdn.setOnClickListener(
new View.OnClickListener() {
public String shutdn = "shutdown -s -t 10";
@Override
public void onClick(View v){
try{
out.writeBytes(shutdn);
Toast.makeText(MainActivity.this, "Shutdown Success", Toast.LENGTH_LONG).show();
}
catch (Exception e) {
Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}
);
restrt.setOnClickListener(
new View.OnClickListener() {
public String rest = "shutdown -r -t 10";
@Override
public void onClick(View v) {
try{
out.writeBytes(rest);
Toast.makeText(MainActivity.this, "Restart Success", Toast.LENGTH_LONG).show();
} catch (UnknownHostException e) {
Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}
);
lgo.setOnClickListener(
new View.OnClickListener() {
public String logoff = "logoff";
@Override
public void onClick(View v) {
try{
out.writeBytes(logoff);
Toast.makeText(MainActivity.this, "Logoff Success", Toast.LENGTH_SHORT).show();
} catch (UnknownHostException e) {
Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
} catch (IOException e) {
Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
}
);
}
私の接続方法:
public void connection(){
try {
Socket cs = new Socket("192.168.1.100", 8002);
DataOutputStream out = new DataOutputStream(cs.getOutputStream());
if(cs.isConnected())
Toast.makeText(MainActivity.this, "Connected to Server", Toast.LENGTH_LONG).show();
} catch (UnknownHostException er) {
Toast.makeText(MainActivity.this, er.getMessage(), Toast.LENGTH_LONG).show();
} catch (IOException er) {
Toast.makeText(MainActivity.this, er.getMessage(), Toast.LENGTH_LONG).show();
}
}
両方のメソッドが同じクラスである
は、ここに私のremotecmnd()です。
「私は同じクラス内でメソッドを継承したい」 - 私はあなたが本当にやりたいことは何か他のものであることを確信しています。あなたは何を達成しようとしていますか? 'out'はローカル変数です。私はそれをクラスのメンバーにするか、 'connection()'メソッドから返すかのどちらかと思っています。 – Axel
まず最初に、あなたが求めていることは継承と呼ばれていません。これはうまくいくはずの簡単なメソッド呼び出しです。それが呼び出されていないと確信していますか?コードをデバッグしてお知らせください。 – Ubercool
@Pramodエラーは 'error:シンボル変数を見つけることができません ' –