Я хочу наследовать метод в пределах одного класса. Я создал connection()
, и я хочу наследовать его от метода remotecmnd()
. Я использовал this.connection()
, но все еще не получаю. В connection()
я указал переменную сокета и переменную dataoutputstream. Но remotecmnd()
не может наследовать его. так как я могу с этим справиться?Как наследовать метод внутри одного класса? JAVA
Вот мой remotecmnd():
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();
}
}
Оба метода в одном классе.
«Я хочу, чтобы наследовать метод в одном классе» - Я уверен, что вы действительно хотите сделать что-то другое. Чего вы пытаетесь достичь? 'out' - локальная переменная. Я думаю, вы либо хотите сделать его членом класса, либо вернуть его из метода 'connection()'. – Axel
Прежде всего то, что вы просите, не называется наследованием. Это простой вызов метода, который должен работать. Вы уверены, что это не называется. Попробуйте отладить код и сообщите нам об этом. – Ubercool
Ошибка @Pramod - ошибка: не удается найти символьную переменную out –