Upload
noveo
View
260
Download
3
Embed Size (px)
Citation preview
Noveo Summer School
Лекция 1. Основы Java. ООП.
2
Введение
Java — объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Как используется Java у нас:• Java Enterprise Edition• Android • Blackberry
Основы Java
3
Что необходимо для старта
• JDK 7 (www.oracle.com)• IDE– NetBeans– Eclipse– IntelliJ IDEA
Основы Java
Тема лекции4
Hello, world
package com.noveogroup.hello
public class HelloWorldClass {public static void main(String[] args)
{System.out.println(“Hello
world”);}
}
5
Методы
public int getValue(int id, String name) {…}
Основы Java.
publicprotectedprivate*default
По ссылкеПо значению
6
Типы данных
Примитивные• byte• short• int• long• float• double• boolean• char
Ссылочные
Ссылочные• Массивы (int[] array)• Классы/интерфейсы• ПеречисленияНапример:• String• Date• Calendar
Основы Java
Тема лекции7
Типы данных
byteshortint
longfloat
doubleboolean
char
ByteShort
IntegerLongFloat
DoubleBoolean
Character
8
Autoboxing
Inboxing Unboxing
Метод
Вызов:
Основы Java
Метод:
Вызов:
9
КлассыНаследование
ООП в Java
10
КлассыНаследование. final.
public final class MyClass {public final void getValue (final String
val) {final int a = 10;
} }
ООП в Java
11
КлассыНаследование. Object.
Object• public String toString();• public boolean equals (Object obj);• public int hashCode();• protected Object clone();• protected void finalize();• public Class<?> getClass();• public void notify();• public void notifyAll();• public void wait();
ООП в Java
12
КлассыНаследование. Abstract.
public final abstract class MyClass() { private public abstract int
getValue();}
ООП в Java
13
КлассыInner classes.
public class OuterClass {private int value = 0;
class InnerClass {public void incrementValue() {
value++;}
}
}ООП в Java
14
КлассыАнонимные классы.
public class BaseClass {public void doSomething() {…}
}
public static void main(String[] args) {BaseClass baseClass = new BaseClass() {
@Overridepublic void doSomething() {
…}
}baseClass.doSomething();
}
ООП в Java
15
Интерфейсы
public interface MyInterface {int NAME_LENGTH = 20;
void getName();void getEmail();
}
ООП в Java
16
ИнтерфейсыРеализация.
public class MyClass implements MyInterface1, MyInterface2 {
@Overridepublic void methodFromInterface1() {…}
@Overridepublic void methodFromInterface2() {…}
}
ООП в Java
17
ИнтерфейсыНаследование.
public interface MyInterface2 {…}
public interface MyInterface3 {…}
public interface MyInterface1 extends MyInterface2, MyInterface3 {…}
ООП в Java
18
Enum
public enum UserRole {ADMIN, USER, GUEST
}
Использование:UserRole role = UserRole.ADMIN;
Enum
19
Enumpublic enum UserRole {
ADMIN(“adm”), USER (“usr”), GUEST (“gst”);
private String shortName;
private UserRole(String str) {this.shortName = str;}
public String getShortName() {return shortName;}
}
ИспользованиеUserRole role = UserRole.ADMIN;role.getShortName();
Enum
Материалы20
Материалы
• http://docs.oracle.com/javase/tutorial/
• “Just Java”• “Thinking in Java”• http://docs.oracle.com/javase/specs/
Практика21
Практическое заданиеhttps://github.com/noveogroup/university-android-FirstJavaTask
Описание:Есть три типа девайсов: телефоны, ноутбуки и планшеты. У каждого девайса есть своя цена.Необходимо написать несколько функций сортировки, которые могли бы сортировать по возрастанию/убыванию цены массив девайсов.
Указания:1)Алгоритмы для реализации: сортировка пузырьком, сортировка вставками, быстрая сортировка (quicksort).2) Для каждого алгоритма сортировки и для каждого девайса необходимо выделить свой класс.3) Классы сортировок должны реализовывать интерфейс Algorithm.4) Классы девайсов должны реализовывать интерфейс Device.
Всяческое применение рассмотренного на лекции материала приветствуется (абстрактные классы, реализация нескольких интерфейсов, final и т.д.).
Где найти слайды22
Где найти слайды
http://www.slideshare.net/noveogroup