Olá pessoal, gostaria de saber o que esta acontecendo e/ou entender nessa classe mcP, pois não sei o que é: “arg” “super.arg” “getA () acho que é um metodo”.
A palavra chave super refere-se a superclasse. Como sua classe mcP extende Object e esta não possui o campo arg, o compilador reclama que não encontra o campo arg.
Não sei se quem escrevei esse código queria fazer referência ao objeto da classe usando this ao invés de super. Enfim, da uma olhada num código q eu estou propondo para q sua classe "funcione".
Não se esqueça que uma classe deve por padrão iniciar com letra maiúscula.
/** * A classe começa aqui; como ela se chama mcP, deve ser salva em um arquivo * chamado mcP.java, que é exigência do compilador. */publicclassmcP{/** * Isto é um atributo; um inteiro inicializado com zero. */inta=0;/** * Isto é um método, mas não um método qualquer; a este tipo de método * damos o nome de construtor: a sua principal característica é não ter * um tipo de retorno, nem mesmo void, e é o primeiro método chamado * quando criamos um objeto do tipo mcP; outro detalhe importante é a * obrigação de o construtor ter o mesmo nome da classe. */mcP(){}/** * Este também é um cosntrutor; não há problema em ter mais de um * construtor na mesma classe, desde que estes sejam métodos diferentes * um do outro; este, por exemplo, difere do outro porque recebe um * parâmetro: um inteiro "apelidado" de arg. */mcP(intarg){/* * Nesta linha informamos que o atributo "a", que foi declarado * anteriormente, recebe o valor do parâmetro "arg". Isto é uma * forma de criar um objeto do tipo mcP e de imediato alterar o * valor do atributo "a"; seria algo do tipo: * * mcP m = new mcP(23); * * assim, "m" seria um objeto do tipo mcP e que internamente o * valor do atributo "a" deste objeto valeria 23. *///a = super.arg; // ==> isto é um erro. o código não compila!a=arg;}/** * Isto é um método comum, e não um construtor; dessa forma ele não tem * o mesmo nome da classe e possui um tipo de retorno: neste caso ele * retorna um "int". */intgetA(){/* * Aqui é onde se resolve como arranjar um int pra retornar, :D * poderíamos ter operações bem mais complexas, mas neste caso * o inteiro retornado é igual ao dobro do atributo "a"; a * palavra "return" é uma palavra reservada que utilizamos para * indicar o retorno de algum método. */returna+a;}/** * Aqui temos outro método especial: o main; é este tipo de método que * a máquina virtual precisa para disparar o processo que se deseja * executar. Diferente do Construtor, o método main deve sempre ter * este formato! a única coisa que pode variar é o termo "arguments", * bastando apenas que este seja um parêmetro do tipo String[]. */publicstaticvoidmain(Stringarguments[]){intvalor;//uma variável | atributo do tipo inteiromcPx=newmcP(4);//criação de um objeto | variável do tipo mcP/* * Aqui atribuímos à variável valor o retorno do método * "getA()" presente no objeto x. Esta é a forma de se utilizar * dos métodos presentes nos objetos. */valor=x.getA();}}