Android - 01 - Java Basics

Post on 06-Jun-2015

260 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

Transcript

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

top related