Изучаем Java

  1. 2 мес. назад

    Будем писать здесь об успехах изучения Java.

    Ответы: (2)
  2. ‹ Ранее
  3. 1 нед. назад

    NewTesla но почему мы создавая новй обьект должны обязательно передавать параметры? ведь класс без параметров у нас)

    Во первых класс явно с 4мя параметрами. Ты не описал конструктор, в котором не было бы параметров. Поэтому и получилось что параметры обязательны.
    Если добавишь в класс такой конструктор
    public Cat() {}
    То тогда и сможешь создавать новые объекты без параметров
    Cat newCatInstance = new Cat();

    Ответы: (233)
  4. sda553 Во первых класс явно с 4мя параметрами. Ты не описал конструктор, в котором не было бы параметров. Поэтому и получилось что параметры обязательны.
    Если добавишь в класс такой конструктор
    public Cat() {}
    То тогда и сможешь создавать новые объекты без параметров
    Cat newCatInstance = new Cat();

    itdev Нельзя так говорить. У класса есть поля, которые объявляются при описании класса. Для обращения к ним внутри класса используется ключевое слово this. Как раз в конструкторе (приведённом здесь) ты и заполняешь поля значениями параметров. Это типичный учебный пример.

    qwer10707 (223) а ты по каким источникам учишь? Эт где вот мне интересно про конструктор не рассказывается?

    там прост, само обучение построено на материале изучения и доп. материале)

    т.е ты проходишь 4тую лекцию а там написано = ребятки, вот вам ссылка накнигу "Структуры Джава" вам она буде полезна

    вот и думаешь = отвлекаться иил не, тк пока ту книжонку прочитаешь тож застопоришься

    + практика построена на задачах, методы решения которых иногда надо нагуглить саомому , т.е задачи приближены к реалиям)

    а вот обьясниение классов, но нету коонструктора вроде

    class Cat {
        public String name;
    
    
    public String getName() {
            return name;
        }
    
    public void setName(String name) {
            this.name = name;
        }
    }
    Ответы: (235) (237) (238)
  5. sda553 Этот метод не обычный метод. Он ничего явно не возвращает.
    Это метод - конструктор. Его вызов должен быть со словом new и создает новый объект класса Cat.
    Cat newCatInstance = new Cat("Вольф",7,7,9);
    Конструкторы в java должны называться так же как сам класс.

    itdev Нельзя так говорить. У класса есть поля, которые объявляются при описании класса. Для обращения к ним внутри класса используется ключевое слово this. Как раз в конструкторе (приведённом здесь) ты и заполняешь поля значениями параметров. Это типичный учебный пример.

    ок, отлично, спс)

    будем посмотреть завтра, тк в день тока час на обучение

  6. 12.04.2021 11:05:58 отредактировано sda553

    NewTesla а вот обьясниение классов, но нету коонструктора вроде

    Если нет явно заданного конструктора, то джава-машина неявно добавляется конструктор по умолчанию.
    public Cat() {}
    который не имеет параметров и ничего не делает.

    НО если хоть какой то конструктор все таки объявлен, машина этот свой конструктор-по-умолчанию не добавит и надо будет добавлять самому, если нужен конструктор без параметров

    Ответы: (236)
  7. sda553 Если нет явно заданного конструктора, то джава-машина неявно добавляется конструктор по умолчанию.
    public Cat() {}
    который не имеет параметров и ничего не делает.

    НО если хоть какой то конструктор все таки объявлен, машина этот свой конструктор-по-умолчанию не добавит и надо будет добавлять самому, если нужен конструктор без параметров

    спс!

    УРА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  8. (233) дык в чем проблема погуглить то, дело 5 минут

    Ответы: (238)
  9. qwer10707 (233) дык в чем проблема погуглить то, дело 5 минут

    Так що гуглить то? Слово конструктор я тут узнал, как я гуглить должен по-твоему, що вводить? :)

    Ответы: (239) (240) (241)
  10. 12.04.2021 12:05:15 отредактировано qwer10707

    (238) создание экземпляров класса джава
    Вот прям первая ссылка https://metanit.com/java/tutorial/3.1.php

  11. (238) эт что за курс то такой что слово конструктор ты тока тут узнал?

    Ответы: (241)
  12. qwer10707 (238) эт что за курс то такой что слово конструктор ты тока тут узнал?

    ну там надо сопуствующую литературу еще читать я пока обхожу ето, щоб не затягивать

    Ответы: (242)
  13. (241) а ресурс то как называется ?

  14. 5 дн. назад

    Второй день жжабу не учим [...]. Шо за [...]?

    Ответы: (244) (245)
  15. qwer10707 Второй день жжабу не учим [...]. Шо за [...]?

    почему, учим)

    седни инициализацию изучал

  16. 4 дн. назад

    qwer10707 Второй день жжабу не учим [...]. Шо за [...]?

    еееееееееееееееееееееееееееееееее

    я доел до конструктороввввввввввввввввввввввввввввввввввввввв

  17. УРА!!!!!!!!!!!!!!!!!!!!!!

    УРА!!!!!!!!!!!!!!!!

    УРАААААААААААААААА!!!!!!!!!!!!!!

  18. 2 дн. назад

    ЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕ

    class MyFile
    {
        private String filename = null;
        
        public MyFile(String name)
        {
            this.filename = name;
        }
    
    public MyFile(String folder, String name)
    {
       this.filename = folder + name; 
    }
    
    public MyFile(MyFile file, String name)
    {
        this.filename = file.getFolder() + name;
    }
    }
    Ответы: (248) (252) (255)
  19. 17.04.2021 08:01:54 отредактировано qwer10707

    (247) а где реализация getFolder?
    И [...] тут this?
    Тыж инициализацию учил, [...] запись про = null, если не инициализирован не классы автоматически null?
    И собственно, хули ЕЕЕЕЕ5ЕЕЕЕЕЕЕЕЕЕЕ?

    Ответы: (252) (253) (255)
  20. Почему MyFile на 1 отступ не отодвинуто?

    Ответы: (250)
  21. Курильщик Почему MyFile на 1 отступ не отодвинуто?

    всм?)

    Ответы: (256)
  22. Бро, зачем класс мифиле, если есть класс филе

    Ответы: (255)
  23. qwer10707 (247) а где реализация getFolder?
    И [...] тут this?
    Тыж инициализацию учил, [...] запись про = null, если не инициализирован не классы автоматически null?
    И собственно, хули ЕЕЕЕЕ5ЕЕЕЕЕЕЕЕЕЕЕ?

    чедни 10 задач на конструкторы задали, три-четыре решил

  24. 17.04.2021 10:57:45 отредактировано sda553

    qwer10707 а где реализация getFolder?

    Это рефлексия уже может сделать.

    qwer10707 И [...] тут this?

    Это тоже норм. В конструкторах так принято при реализации. Правда, при этом параметр конструктора с именем поля совпадает

    А по коду - говонокодно.
    В таких случаях обычно делают два филда, folder и fileName. И выдают их конкатенацию в каком нибудь getFullPath

    Ответы: (254) (265)
  25. sda553 Это рефлексия уже может сделать.

    Это тоже норм. В конструкторах так принято при реализации. Правда, при этом параметр конструктора с именем поля совпадает

    А по коду - говонокодно.
    В таких случаях обычно делают два филда, folder и fileName. И выдают их конкатенацию в каком нибудь getFullPath

    Да, это пример какой то перед изучением дали, а так в задачах я стараюсь переменные разные делать, чтобы не совпадали с именами параметров

    Ответы: (259)
  26. qwer10707 (247) а где реализация getFolder?
    И [...] тут this?
    Тыж инициализацию учил, [...] запись про = null, если не инициализирован не классы автоматически null?
    И собственно, хули ЕЕЕЕЕ5ЕЕЕЕЕЕЕЕЕЕЕ?

    itdev Бро, зачем класс мифиле, если есть класс филе

    Это пример перед изучением темы просто сказали написать не вдумываясь а потом оьясняли що есть що)

  27. (250) ну ты чо!

  28. class MyFile
    {
        private String filename = null;
    
        public MyFile(String name)
        {
            this.filename = name;
        }
    
    	public MyFile(String folder, String name)
    	{
    	   this.filename = folder + name; 
    	}
    
    	public MyFile(MyFile file, String name)
    	{
    	    this.filename = file.getFolder() + name;
    	}
    }
    
    
    Ответы: (261)
  29. тесла, пиши нормально!

  30. 17.04.2021 11:17:48 отредактировано sda553

    NewTesla я стараюсь переменные разные делать, чтобы не совпадали с именами параметров

    А надо одинаковые, иначе сбивает с толку. Просто, параметры без this. А поля с this.

    Ответы: (260)
  31. sda553 class MyFile
    {
    private String filename;

    public MyFile(String name)
    {
    this.filename = name;
    }

    т.е тут, вместо name лучше писать Filename?

    Ответы: (262) (263) (266) (269) (288)
  32. Курильщик class MyFile
    {
    private String filename = null;

    public MyFile(String name)
    {
    this.filename = name;
    }

    public MyFile(String folder, String name)
    {
    this.filename = folder + name;
    }

    public MyFile(MyFile file, String name)
    {
    this.filename = file.getFolder() + name;
    }
    }

    а где пробел? выдели пжл

  33. NewTesla Filename

    один в один: filename

  34. 17.04.2021 11:36:24 отредактировано sda553

    (260) да, filename.
    Я бы вообще бы вот так всё переписал

    public class MyFile {
        @Getter
        private String fileName;
        @Getter
        private String folder;
    
    
        public MyFile(String fileName, String folder) {
            this.fileName = fileName;
            this.folder = folder;
        }
    
        public MyFile(String fileName) {
            this(fileName,"./");
        }
    
        public MyFile(File file) {
            this(file.getName(),file.getParent());
        }
    }
    Ответы: (288)
  35. 17.04.2021 11:39:05 отредактировано sda553

    Аннотация @@Getter это lombok.Getter;
    А если ванильно, то было бы

       public String getFileName() {
            return fileName;
        }
    
        public String getFolder() {
            return folder;
        }
  36. (253)так потому и спросил что this юзают чтоб избавиться от коллизии

  37. (260) зачем =null? Объкты по умолчанию null

    Ответы: (269)
  38. Аналог в 1с
    Имя файла - реквизит формы
    Процедура в форме

    Процедура УстановитьИмяФайла(ИмяФайла)
        ЭтаФорма.ИмяФайла = ИмяФайла; // Реквизит будет установлен
        // ИмяФайла = ИмяФайла;
        // А тут не будет
    КонецПроцедуры
  39. Кстати, в 1с по стандарту имя функции должно называться ТаблицаДокументов, например, а не ПолучитьТаблицуДокументов.

    Ответы: (271) (284)
  40. qwer10707 (260) зачем =null? Объкты по умолчанию null

    да, прочел уже про яву
    Java does not have uninitialized variables. Fields of classes and objects that do not have an explicit initializer and elements of arrays are automatically initialized with the default value for their type (false for boolean, 0 for all numerical types, null for all reference types).[2] Local variables in Java must be definitely assigned to before they are accessed, or it is a compile error.

    Ответы: (270) (283)
  41. (269) а раньше не знал?

  42. itdev Кстати, в 1с по стандарту имя функции должно называться ТаблицаДокументов, например, а не ПолучитьТаблицуДокументов.

    а тгде стандарты 1с написаны? скинь ссыль пжл а то у меня где то была

  43. https://its.1c.ru/db/v8std#browse:13:-1:31

  44. Bumer Переделал под CancelletionToken (так правильнее) но пока есть проблемы. можешь почитать про него
    .

  45. Щя посмотрю.

    Ответы: (277)
  46. Я не вижу изменений ... может я чё не так смотрю?

  47. Теслу проще пристрелить ...

  48. (274) не успел запушить, ща.

  49. хотел от статиков еще избавиться т.е. не кошерно если будет создаваться несколько подзадач.

  50. Я со статиками не дружу пока ...

  51. запушил ветку 01_cancellationtoken

    Ответы: (286)
  52. 1 использован механизм который предотвращает дедлоки
    2 поменял net 4.7 на net core 5
    3 заменил wait на await Task.Delay

  53. про статик поля коротко
    https://metanit.com/sharp/tutorial/3.6.php

  54. Курильщик Local variables in Java must be definitely assigned to before they are accessed, or it is a compile error.

    Т.е. эссайнить локальные переменные всё равно необходимо

    Ответы: (285)
  55. itdev Кстати, в 1с по стандарту имя функции должно называться ТаблицаДокументов, например, а не ПолучитьТаблицуДокументов.

    Как тогда должна называться переменная, в которую будет записан результат выполнения этой функции?

    Ответы: (297)
  56. sda553 Т.е. эссайнить локальные переменные всё равно необходимо

    Переменные лучше вообще не использовать. Только в исключительно крайних случаях. Я уже не помню когда последний раз использовал переменные (не считая ПХП, там у меня сплошной говногод)

    Ответы: (287)
  57. 1 дн. назад

    (280) сегодня посмотрю.

  58. webdev Переменные лучше вообще не использовать. Только в исключительно крайних случаях.

    У меня весь код тогда крайний случай ...

  59. sda553 (260) да, filename.
    Я бы вообще бы вот так всё переписал

    public class MyFile {
        @Getter
        private String fileName;
        @Getter
        private String folder;
    
    
        public MyFile(String fileName, String folder) {
            this.fileName = fileName;
            this.folder = folder;
        }
    
        public MyFile(String fileName) {
            this(fileName,"./");
        }
    
        public MyFile(File file) {
            this(file.getName(),file.getParent());
        }
    }

    ну хз)

    как то одинаковые имена параметров и переменных класса не комильфо выгядят

    вот глянь, седни задачку делал, красотища же!

    package com.javarush.task.task05.task0517;
    
    /* 
    Конструируем котиков
    */
    
    public class Cat {
       String name,address,color;
       int age,weight;
       
       public Cat(String Newname)
       {
           this.name    = Newname;
           this.color   = "white";
           this.age     = 37;
           this.weight  = 99;
           
       }
       
        public Cat (String Newname, int Newweight, int Newage)
       {
           this.name    = Newname;
           this.color   = "white";
           this.age     = Newage;
           this.weight  = Newweight;
           
       }
    
        public Cat (String Newname, int Newage)
       {
           this.name    = Newname;
           this.color   = "white";
           this.age     = Newage;
           this.weight  = 99;
           
       }
       
          public Cat (int Newweight, String Newcolor)
       {
           this.color   = Newcolor;
           this.age     = 17;
           this.weight  = Newweight;
           
       }
       
           public Cat (int Newweight, String Newcolor, String Newaddress)
       {
           this.address = Newaddress;
           this.color   = Newcolor;
           this.age     = 17;
           this.weight  = Newweight;
           
       }
    
        public static void main(String[] args) {
    
        }
    }
    

    УРА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Ответы: (289) (290) (291) (296) (304) (317)
  60. (288) блять давай хоть раз без косяков уже

  61. (288) какого хера параметры в конструкторах с заглавной?

    Ответы: (291)
  62. qwer10707 (288) какого хера параметры в конструкторах с заглавной?

    ну так читабельнее имхо!

  63. куясии, новое задание, оказывается можно и так!!!!!
    ого круто!!!!!!!!!!

    package com.javarush.task.task05.task0521;
    
    /* 
    Вызов конструктора из конструктора
    */
    
    public class Circle {
    
        public double x;
        public double y;
        public double radius;
    
        public Circle(double x, double y, double radius) {
            this.x = x;
            this.y = y;
            this.radius = radius;
        }
    
        public Circle(double x, double y) {
            this(x, y, 10);
        }
    
        public Circle() {
            this(5, 5, 1);
        }
    
        public static void main(String[] args) {
            Circle circle = new Circle();
            System.out.println(circle.x + " " + circle.y + " " + circle.radius);
            Circle anotherCircle = new Circle(10, 5);
            System.out.println(anotherCircle.x + " " + anotherCircle.y + " " + anotherCircle.radius);
        }
    
    }
    
  64. (292) переменные в джава с маленькой и камелкейсом

    Ответы: (298) (299)
  65. + все рекомендую вот энтот музончик для фона

  66. NewTesla как то одинаковые имена параметров и переменных класса не комильфо выгядят

    Как раз наоборот, для конструктора это комильфо

    Ответы: (300)
  67. 18.04.2021 08:27:22 отредактировано itdev

    (284) я к тому, что можно использовать одно наименование. Даже на мисте тема была
    https://forum.mista.ru/topic.php?id=849244

  68. (294) я использую UpperCamelCase

    Ответы: (302) (312)
  69. qwer10707 (292) переменные в джава с маленькой и камелкейсом

    а ок, спс, будем знать

  70. itdev Как раз наоборот, для конструктора это комильфо

    ок, спс

  71. 18.04.2021 08:40:02 отредактировано NewTesla

    + как фон для работы на пять с плюсом идут видосики этого челика(но тока позитивные, т.е информационные, а тот у него разные там)

  72. (298) если пишешь в стол то пожалуйста хоть елочкой. Если кто то будет в этом разбираться то это свинство

    Ответы: (303)
  73. (302) Если бы я программировал на java, то использовал бы стандарт, разумеется

  74. NewTesla вот глянь, седни задачку делал, красотища же!

    Почему ты так пишешь код? Ты правда не замечаешь что у тебя съехали имена и скобки?

    Ответы: (306)
  75. 18.04.2021 10:31:59 отредактировано itdev

    Пошёл как-то молодой повеса учиться программированию у Курильщика.
    Покажи, что умеешь, молвил Курильщик. Юный подаван открыл свой лэптоп.
    Винда! - Сумрачно изрёк сенсей. - Наверняка, ещё и Consolas. Нет! Что это?! Visual Code???!!! Где моя батога?! Хотя ладно.. молодёжь.. показывай. Подаван открыл папку с исходниками. В следующие несколько минут Курильщик долго пребывал в позе капитана Пикара. - Тащи батогу. Рано тебе учиться программированию. Придётся по старинке. Если после предстоящего урока, ты не выбросишь из головы свою затею, то будешь таскать воду и выращивать урожай, изучать каллиграфию и постигать азы чайной церемонии. Только после этого я смогу преподать тебе искусство форматирования и нотации.

  76. Курильщик Почему ты так пишешь код? Ты правда не замечаешь что у тебя съехали имена и скобки?

    где? мож мнитор протрешь?)))))

    все норм вроде) или покажи жирным шрифтом указав)

    Ответы: (307)
  77. (306) ты спорить удумал?!

  78. ))))))

  79. IMG_20210418_105222.jpg
    IMG_20210418_105107.jpg

    Ответы: (311)
  80. 18.04.2021 10:54:51 отредактировано Курильщик

    Пометил.
    открывающая скобка почему не на уровне?

    Ответы: (313) (323)
  81. Курильщик IMG_20210418_105222.jpg
    IMG_20210418_105107.jpg

    о! благодарствую!!!!!!!!!!)

  82. itdev UpperCamelCase

    Это для имен классов а для переменных же обычно
    upperCamelCase не?

    Ответы: (316)
  83. Курильщик Пометил.
    открывающая скобка почему не на уровне?

    ну хз, я думал там без разницы)

    Ответы: (314)
  84. (313) есть разница.

  85. Я например код читаю блоками, не построчно и не посимвольно

  86. (312) да

  87. NewTesla вот глянь, седни задачку делал, красотища же!

    Это разве скомпилируется? Имхо, нет.

  88. 18.04.2021 12:01:32 отредактировано sda553

    Скомпилируется, я не всю ширину экрана телефона увидел.
    А в чём состояло задание?

    Ответы: (319)
  89. sda553 Скомпилируется, я не всю ширину экрана телефона увидел.
    А в чём состояло задание?

    ну просто написать конструкторы с разной степенью инициализации переменных)

    Ответы: (320)
  90. (319) может быть эта синтетика, но я в практике не встречал, чтобы в конструкторах перемешивали порядок параметров.
    Обычно принято, если name это главный параметр конструктора и без него нельзя, то он в конструкторе идет первым параметром. Потом второй параметр по важности. И этот порядок не нарушают при разных реализациях конструктора.
    Но я не в курсе есть ли где то такое требование, это просто из моего опыта замечание

  91. Т.е. типичный набор конструкторов, это
    Cat();
    Cat(главныйпараметр);
    Cat(главный параметр, второйпоВажностиПараметр)
    Cat(главный параметр, второйпоВажностиПараметр, третийПоВажности)

  92. 18.04.2021 13:06:42 отредактировано itdev

    Так в классе Circle как раз и хоккеизируется сий порядок вещей. Типа Кэт работает, но так не надо, а вот Сёркл угоден.

  93. Курильщик Пометил.
    открывающая скобка почему не на уровне?

    Чего накинулись на чела? Это мой кореш. Не трожь Теслу. Пусть пишет как хочет. Его код, его правила.

    Ответы: (325)
  94. 23 ч. назад

    вот задачку задали, сколько времени уйдет , щоб ошибку найти?(прога должна выводить слово Red)

    круто, я думал пропустить ее, но все таки начал исследовать)

    это также помогает понять тему)

    package com.javarush.task.task05.task0523;
    
    /* 
    Конструктор
    */
    
    public class Circle {
        public Color color;
    
    
        public void Circle() {
            color = new Color();
        }
        
        public static void main(String[] args) {
            Circle circle = new Circle();
            circle.color.setDescription("Red");
            System.out.println(circle.color.getDescription());
        }
    
      
    
        public class Color {
            String description;
            
         public String getDescription() {
                return description;
            }
    
            public void setDescription(String description) {
                this.description = description;
            }       
    
    
     
        }
    }
    
    Ответы: (327) (328) (329)
  95. webdev Чего накинулись на чела? Это мой кореш. Не трожь Теслу. Пусть пишет как хочет. Его код, его правила.

    спс, бро!

    Но Курильщик вроде реал помогает улучшить написание кода, щоб я потом лямы долларов зарабатывал)

  96. 22 ч. назад
    19.04.2021 07:32:32 отредактировано sda553

    (324) у Circle нет конструктора, думаю в этом ошибка

       public void Circle() {
            color = new Color();
        }

    - это метод, а не конструктор

    Ответы: (328)
  97. sda553 (324) у Circle нет конструктора, думаю в этом ошибка

       public void Circle() {
            color = new Color();
        }

    - это метод, а не конструктор

    точн!

    Ответы: (331)
  98. 21 ч. назад
    19.04.2021 09:26:06 отредактировано qwer10707

    (324) тесла блять, купи нормальный курс а не для наркоманов. Эт все ищется помещением кода в иде

  99. 19.04.2021 09:29:12 отредактировано qwer10707

    И запуском с дебагом

  100. 20 ч. назад

    NewTesla точн!

    Во-во. void тут лишнее. Поэтому срабатывает дефолтный конструктор, и color будет равен null.

или зарегистрируйтесь чтобы ответить!