Запрос помощи относительно правильного дизайна кодирования
Привет всем, я здесь сегодня не для того, чтобы спросить, правильно ли работает мой код . Я здесь, чтобы спросить, правильно ли я это делаю и следую ли правильным правилам кодирования java . Я был в других местах и местах, где они упоминали, что я плох в этом и плох в том, что я уже знаю, что хочу стать лучше.С учетом сказанного я перейду к вопросу.
Я думаю, что знаю свою базовую java(под базовой java я имею в виду, как сделать простое кодирование, но не говорю, Почему мы использовали это вместо того, чтобы делать это так)
Итак, если я начну, то где и почему мы делаем переменные статичными ? теперь я знаю, что это для инкапсуляции . Что делать, если у меня есть 2 класса, и я инициализирую что-то внутри одного класса, а затем хочу получить доступ к тому значению, которое я присвоил ему внутри другого класса ? или внутри другого метода ? делаю ли я их статичными ? или пример. Что делать, если я хочу использовать некоторые переменные, которые я назначил в одном классе в другом, могу ли я использовать сеттеры и геттеры ? вот что я сделал , я знаю, что есть проблемы с кодированием, так как я пошел и погуглил обо всем, что я должен и не должен делать . Мне просто нужно подтверждение
class Character{ private static int name=null; private static age=0; private static String class_name=null; private static double hitPoints = 0; private static int[] stats = {1,2,3,4,5,6} public static int[] getStats() { return stats; } public static String getClass_name() { return character_class; } public static double getHitPoints() { return hitPoints; } public void getvalues() { Scanner sc = new Scanner(System.in); System.out.print("Enter Name:"); name= sc.next(); System.out.print("Enter Your age:"); age = sc.nextInt(); System.out.println("Enter your hitpoints"); hitpoints=sc.nextInt(); class Main{ public void display(){ System.out.println("Your name is :"+name); System.out.println("Your age is :"+age); System.out.print("Your hitpoints :"+hitpoints); for(int i=0;;i<6;i++){ System.out.print("Your array is :"+stats[i]); } } public static void main(String args[]){ Character c1=new Character(); c1.getvalues(); display(); } }
Here i am trying to get some values in one class, and then print it using another class. I am using getvalues to get the user inputs and then use display() to print it out.Obviously this is not my project and mine is to create a game. Which is alot bigger but basically can say its the same concept . Either way what i want to know is the use of static and the getters . Am i doing it right, white needs to be changed within the concept(Please note that this code is not checked if it is working or not since that is not what i am looking for i just want to know f the concept is write as in the coding patterns and segments. Ignore if anything is wrong or if it doesnt compile.
Спасибо вам всем за то, что нашли время.
Что я уже пробовал:
Я сделал свое чтение но я не уверен что использовать статические и сеттеры и геттеры и где их использовать просто нужна помощь и можно ли использовать их для связи между классами когда дело доходит до значений переменных