Я всегда думаю об этом как «проход по копии». Это копия значения, будь она примитивной или справочной. Если это примитив, это копия битов, которые являются значением, и если это объект, то это копия ссылки.
public class PassByCopy{
public static void changeName(Dog d){
d.name = "Fido";
}
public static void main(String[] args){
Dog d = new Dog("Maxx");
System.out.println("name= "+ d.name);
changeName(d);
System.out.println("name= "+ d.name);
}
}
class Dog{
public String name;
public Dog(String s){
this.name = s;
}
}
вывод java PassByCopy:
< blockquote>name = Maxx name = Fido
blockquote>Примитивные классы-оболочки и строки неизменяемы, поэтому любой пример с использованием этих типов не будет работать так же, как другие типы / объекты.
Вы должны позвонить hasNextInt()
и passwordInput.nextInt()
только один раз, чтобы получить пароль, например:
if (passwordInput.hasNextInt()) {
if (passwordInput.nextInt() != builtInPassword) {
System.out.println("You entered the right format \nbut the password is WRONG!");
} else {
System.out.println("Thanks,your password is correct");
}
} else {
System.out.println("WRONG format!");
}