0 / 0 / 0
Регистрация: 01.04.2017
Сообщений: 6

Основы Java (для новичка)

04.05.2017, 02:03. Показов 981. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Я месяц изучал Си, разбираюсь в синтаксисе, могу написать простую программу. Начал изучать язык Java и у меня появились ряд вопросов:
  • Что такое класс?
  • Для чего класс делается публичным?
  • Как понять, класс - это ТОЖЕ объект, однако в то же время им не является?
  • В каких случаях нужно писать package и import в листинге кода? Куда обычно ведут эти пути?
    Например:
    Java
    1
    2
    
    package com.top.loop.title //example...
    import com.top.loop.title

Допустим, я пишу программу которую разбил на отдельные блоки. Каждый блок имеет ряд операций. В Си я бы создал функции в которых описал эти операций и нужную функцию вызывал из точки входа main() или из других функций. Вопрос: Как реализуется подобное в языке Java?

Спасибо за внимание!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2017, 02:03
Ответы с готовыми решениями:

как установить Java для новичка
я совсем зеленая в этом и не знаю, как установить java для новичка. нужно J2SE. если есть возможность, скиньте ссылку на прямое скачивание...

Java для полного новичка
Всем привет. Вообщем, таких тем наверное уже вагон, если не там создал - прошу не банить а перенести темку.Заранее спасибо. Как и многие,...

Пожалуйста какую книгу по java начать читать:Шилдт×Эккель×Хорстманн-Корнелл?для новичка который ничего в этом
знаю шарп с винапи.решил и java обучиться.понял 3 лидера книг.но какая из 3х новичку будет понятна?

7
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
04.05.2017, 05:36
Цитата Сообщение от cerbatii Посмотреть сообщение
Что такое класс?
Класс — это элемент ПО, описывающий абстрактный тип данных и его частичную или полную реализацию. (Вики)
Цитата Сообщение от cerbatii Посмотреть сообщение
Для чего класс делается публичным?
Для доступности из других пакетов
Цитата Сообщение от cerbatii Посмотреть сообщение
Как понять, класс - это ТОЖЕ объект, однако в то же время им не является?
Нет, класс это не объект, объект - это единица данных, созданная на основе класса. Как и во многих источниках самый наглядный пример - класс - это чертеж, объект - это устройство, созданное по этому чертежу (а таких устройств может быть создано сколько угодно).
Цитата Сообщение от cerbatii Посмотреть сообщение
В каких случаях нужно писать package и import в листинге кода? Куда обычно ведут эти пути?
package - указывает расположение класса в иерархии (писать не нужно, если класс находится в пакете по умолчанию (в самом верху))
import - импорт ресурсов, находящихся за пределами пакета, в котором находится класс, в котором этот импорт "пишется"
отмеряются пути вроде как от пакета по умолчанию "src".

Поправляйте
1
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4572 / 2767 / 491
Регистрация: 28.04.2012
Сообщений: 8,703
04.05.2017, 08:28
Цитата Сообщение от _ViPeR_ Посмотреть сообщение
Нет, класс это не объект
Класс --- это объект метакласса.
1
0 / 0 / 0
Регистрация: 01.04.2017
Сообщений: 6
04.05.2017, 11:07  [ТС]
Цитата Сообщение от _ViPeR_ Посмотреть сообщение
класс - это чертеж, объект - это устройство, созданное по этому чертежу
Как понять созданное по этому чертежу? Ведь класс мы просто пишем class NameClass и все. Как эта строчка может нести какую то информацию о том, что я буду писать внутри этого класса? Ведь если проводить аналогию с чертежом, на нем уже есть информация с каким либо проектом.

Цитата Сообщение от korvin_ Посмотреть сообщение
Класс --- это объект метакласса.
Узнал в интернете что метакласс описывает классы и его прототип якобы располагается в библиотеке java.lang.
Т.е. как я понимаю, декларировать метакласс не нужно, т.к. он находится в библиотеке откуда предоставляет шаблоны написания кода. Как в Си например заголовочный файл stdio.h имеет описание операций и функций.
Я правильно понимаю?

Спасибо за помощь!
0
 Аватар для Aviz__
2727 / 2038 / 505
Регистрация: 17.02.2014
Сообщений: 9,448
04.05.2017, 11:29
класс - это, как бы, трафарет для создания контуров картинок для детских раскрасок, а раскрашенные картинки - это объекты. Как конкретно "раскрашивать" области и что с ними делать уже решаете вы. Как вы понимаете, таких объектов "раскрашенных картинок", на основе класса "трафарета" может быть сколько угодно.
1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
04.05.2017, 12:39
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class StupidQuestion {
  private String body;
  
  public StupidQuestion(String body) {
    this.body  = body;
  }
 
  public String getBody(){
   return this.body;
  }
 
}  
 
class MyClass {
  public static void main(String... args){
   StupidQuestion anotherStupidQuestion = new StupidQuestion("Я не хочу ничего читать, как изучить язык?");
   System.out.println(stupidQuestion.getBody());
  }
}
StupidQuestion - класс.
anotherStupidQuestion - экземпляр класса StupidQuestion.
https://docs.oracle.com/javase... a/TOC.html
1
230 / 199 / 71
Регистрация: 21.10.2016
Сообщений: 449
04.05.2017, 19:04
cerbatii, в языке C существуют встроенные типы данных (double, int, ...). Каждый тип окружен своим набором операций.
В Java тоже существуют встроенные типы данных. Но кроме них можно и должно создавать свои типы данных.
Новый тип данных описывается с помощью ключевого слова class. Например:
Java
1
2
3
class MyClass {
    // описание класса
}
Теперь можно создавать экземпляры нового класса (нового типа данных).
Java
1
2
3
4
5
6
7
class UseMyClass {
 
    public static void main(String[] args) {
        MyClass x = new MyClass();    // один экземпляр
        MyClass y = new MyClass();    // еще один экземпляр
        // и т.д.
}
Класс (тип данных) и объект (экземпляр класса) не одно и то же.

В общих чертах так. Поправьте меня.
1
0 / 0 / 0
Регистрация: 01.04.2017
Сообщений: 6
04.05.2017, 21:04  [ТС]
Цитата Сообщение от Хм Посмотреть сообщение
class UseMyClass {
public static void main(String[] args) {
* * * * MyClass x = new MyClass(); * *// один экземпляр
* * * * MyClass y = new MyClass(); * *// еще один экземпляр
* * * * // и т.д.
}
Объявляю класс UseMyClass, создаю точку входа main, создаю переменную(объект) и с помощью new присваиваю имя этой переменной и уже называю ее экземпляр. Если я правильно прочитал код, то что я могу дальше с этим экземпляром делать? И почему у них после слова new пишется одинаково MyClass()?

Пардон если вопросы совсем уж глупые, но я реально не могу въехать в механику языка. Но хочу! Я уже понимаю что бы описать какой то объект, нужно создать класс с его именем и внутри описывать его свойства, а вот что касается наследования класса и его экземпляры, туплю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.05.2017, 21:04
Помогаю со студенческими работами здесь

Java/ основы
Написал код который удаляет в строке повторы РАБОТАЕТ КАК НАДО import java.util.ArrayList; import java.util.Scanner; public class...

Java/ основы
Здравствуйте. Подскажите как подсчитать количество букв и кол-во цифр в строке. Желательно с подробными коментариями) заранее спасибо :)

вопрос новичка Java-applets
Какими программными средствами создаются Java- апплеты с 3d- графикой? Спасибо.

Основы Java, создание объектов
Изучаю Java. Однако не могу освоить самого простого - создание объектов. Для примера: class Shape{ int square=5; ...

Основы Java. Работа с файлами
Вот такое вот зд Тема: Работа с файлами. Многопоточность. Сетевое взаимодействие. Введение в разработку серверных решений с ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru