Java
Java класс внутри класса
Как сделать, чтобы метод можно было вызвать вот так: class.twoclass().void()
Иметь объект class такого типа, который имеет метод twoclass(), который возвращает тип, имеющий метод void().
Иннер классы тут не нужны
Иннер классы тут не нужны
Никак. Class class = new Class ();
Переходи на Котлин. Там это реализовано точно так, как ты и спрашивал
Переходи на Котлин. Там это реализовано точно так, как ты и спрашивал
Чем не устраивает просто класс с наличием этого метода?
В объект Class вы не можете добавить свои методы.
В объект Class вы не можете добавить свои методы.
Просто скопируй этот код в свой Main.java и попробуй с ним разобраться.
public class Main {
public static void main(String[] args) {
User u = new User("John");
UserAccount ua = new UserAccount(u, "password");
System.out.print(ua.getUser().getName()); // John
}
class User {
private String name;
User(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
class UserAccount {
private User user;
private String password;
UserAccount(User user, String password) {
this.user = user;
this.password = password;
}
public User getUser() {return this.user;}
}
}
public class Main {
public static void main(String[] args) {
User u = new User("John");
UserAccount ua = new UserAccount(u, "password");
System.out.print(ua.getUser().getName()); // John
}
class User {
private String name;
User(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
class UserAccount {
private User user;
private String password;
UserAccount(User user, String password) {
this.user = user;
this.password = password;
}
public User getUser() {return this.user;}
}
}
То, что вы спросили в вопросе называется шаблоном программирования Builder. Вам необходимо в методах класса возвращать объект класса. Пример:
class Person {
private String name;
private int age;
private Person setName(String name) {
this.name = name;
return this;
}
private Person setAge(int age) {
this.age = age;
return this;
}
@Override
public String toString() {
return name + ", " + age;
}
}
Если необходимо вызывать класс без создания через new, то возможно есть смысл посмотреть в сторону шаблона Singleton.
Так же по сабжу можно посмотреть в сторону идиомы Fluent interface. В целом похожая штука на Builder, но разруливается на уровне интерфейсов
class Person {
private String name;
private int age;
private Person setName(String name) {
this.name = name;
return this;
}
private Person setAge(int age) {
this.age = age;
return this;
}
@Override
public String toString() {
return name + ", " + age;
}
}
Если необходимо вызывать класс без создания через new, то возможно есть смысл посмотреть в сторону шаблона Singleton.
Так же по сабжу можно посмотреть в сторону идиомы Fluent interface. В целом похожая штука на Builder, но разруливается на уровне интерфейсов
Похожие вопросы
- Можно ли реализовать полиморфизм (Java) с общим конструктором для разных дочерних классов?
- как правильней организовывать абстрактный класс JAVA
- Абстрактный класс или интерфейс (java)
- Java методы классы
- Зачем в Java придумали абстрактные классы?
- Всем привет. Помогите плз. Мне нужна помощь тех кто действительно хорошо знает Java т. к мне нужно выбрать один из курсов
- Что такое класс, метод и объект в языке программирования java?
- Помогите доделать код на java. В форму пользователь вводит символ, который нужно заменить на #.
- Не выводит изображение в JAVA
- Java проблема с рефлексией.