android - 01 - java basics
TRANSCRIPT
![Page 1: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/1.jpg)
Noveo Summer School
Лекция 1. Основы Java. ООП.
![Page 2: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/2.jpg)
2
Введение
Java — объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Как используется Java у нас:• Java Enterprise Edition• Android • Blackberry
Основы Java
![Page 3: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/3.jpg)
3
Что необходимо для старта
• JDK 7 (www.oracle.com)• IDE– NetBeans– Eclipse– IntelliJ IDEA
Основы Java
![Page 4: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/4.jpg)
Тема лекции4
Hello, world
package com.noveogroup.hello
public class HelloWorldClass {public static void main(String[] args)
{System.out.println(“Hello
world”);}
}
![Page 5: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/5.jpg)
5
Методы
public int getValue(int id, String name) {…}
Основы Java.
publicprotectedprivate*default
По ссылкеПо значению
![Page 6: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/6.jpg)
6
Типы данных
Примитивные• byte• short• int• long• float• double• boolean• char
Ссылочные
Ссылочные• Массивы (int[] array)• Классы/интерфейсы• ПеречисленияНапример:• String• Date• Calendar
Основы Java
![Page 7: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/7.jpg)
Тема лекции7
Типы данных
byteshortint
longfloat
doubleboolean
char
ByteShort
IntegerLongFloat
DoubleBoolean
Character
![Page 8: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/8.jpg)
8
Autoboxing
Inboxing Unboxing
Метод
Вызов:
Основы Java
Метод:
Вызов:
![Page 9: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/9.jpg)
9
КлассыНаследование
ООП в Java
![Page 10: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/10.jpg)
10
КлассыНаследование. final.
public final class MyClass {public final void getValue (final String
val) {final int a = 10;
} }
ООП в Java
![Page 11: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/11.jpg)
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
![Page 12: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/12.jpg)
12
КлассыНаследование. Abstract.
public final abstract class MyClass() { private public abstract int
getValue();}
ООП в Java
![Page 13: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/13.jpg)
13
КлассыInner classes.
public class OuterClass {private int value = 0;
class InnerClass {public void incrementValue() {
value++;}
}
}ООП в Java
![Page 14: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/14.jpg)
14
КлассыАнонимные классы.
public class BaseClass {public void doSomething() {…}
}
public static void main(String[] args) {BaseClass baseClass = new BaseClass() {
@Overridepublic void doSomething() {
…}
}baseClass.doSomething();
}
ООП в Java
![Page 15: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/15.jpg)
15
Интерфейсы
public interface MyInterface {int NAME_LENGTH = 20;
void getName();void getEmail();
}
ООП в Java
![Page 16: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/16.jpg)
16
ИнтерфейсыРеализация.
public class MyClass implements MyInterface1, MyInterface2 {
@Overridepublic void methodFromInterface1() {…}
@Overridepublic void methodFromInterface2() {…}
}
ООП в Java
![Page 17: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/17.jpg)
17
ИнтерфейсыНаследование.
public interface MyInterface2 {…}
public interface MyInterface3 {…}
public interface MyInterface1 extends MyInterface2, MyInterface3 {…}
ООП в Java
![Page 18: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/18.jpg)
18
Enum
public enum UserRole {ADMIN, USER, GUEST
}
Использование:UserRole role = UserRole.ADMIN;
Enum
![Page 19: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/19.jpg)
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
![Page 20: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/20.jpg)
Материалы20
Материалы
• http://docs.oracle.com/javase/tutorial/
• “Just Java”• “Thinking in Java”• http://docs.oracle.com/javase/specs/
![Page 21: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/21.jpg)
Практика21
Практическое заданиеhttps://github.com/noveogroup/university-android-FirstJavaTask
Описание:Есть три типа девайсов: телефоны, ноутбуки и планшеты. У каждого девайса есть своя цена.Необходимо написать несколько функций сортировки, которые могли бы сортировать по возрастанию/убыванию цены массив девайсов.
Указания:1)Алгоритмы для реализации: сортировка пузырьком, сортировка вставками, быстрая сортировка (quicksort).2) Для каждого алгоритма сортировки и для каждого девайса необходимо выделить свой класс.3) Классы сортировок должны реализовывать интерфейс Algorithm.4) Классы девайсов должны реализовывать интерфейс Device.
Всяческое применение рассмотренного на лекции материала приветствуется (абстрактные классы, реализация нескольких интерфейсов, final и т.д.).
![Page 22: Android - 01 - Java Basics](https://reader034.vdocuments.site/reader034/viewer/2022052620/5572c86ed8b42abb378b4be4/html5/thumbnails/22.jpg)
Где найти слайды22
Где найти слайды
http://www.slideshare.net/noveogroup