Local variable

Download Report

Transcript Local variable

JAVA COURSE 1
Computer Engineering Association
Compile your first program
Public class Hello{
public class Hello(){
System.out.println(“Hello”);
}
puclic static void main(STring args[])
{
System.out.println(“In the main”);
Hello temp = new Hello();
}
}
Command to compile the first
program





In java, we use the jdk, which can be downloaded from
the website www.java.sun.com
After installation, if we don't want to give the absolute
path everytime to compile the program, we need to set
the path
In windows 2000, go to [control panel]->[setting]>[system]->[advance] and change the system
enviroment variable, PATH , adding the path of [jdk
directory]\bin
In linux, you need to edit the .bash_profile file
 Add Path=[jdkdirectory]/bin
 Export Path
 Exec bash --login to make it effective
For windows 95/95/me, you need to edit the
Package
Java use the package mechanism to resolve
all the class name
 e.g., there are two classes as Hello1, Hello1

 But
they are different, as they are put in
diofferent directory.
 How about we import them, as if include
mechanism in C++, C
 So we simple type import [directory].Hello1;
 And thus we can use it.
 The java put all their classes in
[jdkdirectory]\clases
Simple program to demonstrate
package
Before we need to set the classpath
 Same as before setting path, but we set
CLASSPATH now
 CLASSPATH=\root\demo:\root\j2sdk1.4.0\cla
sses
 Then we type the following program as
shown

Syntax: Class definition


Class definition is defined by the following words
 public(optional)
 final(optional)
 abstract(optional)
If we declare final, then we cannot declare abstract,
vice versa. And the poition of the above words is
not rigid.
 Class
 Class name(same as file name)
 Extends (optional)
 implements(optional)
 {}
Meaning of the class keyword
Public means all classes can access it,
whetherit is in the same package or not
 If not public, then the class is accessed only
by the class in the same package.
 Final means the class cannot be inherited
 Abstract means the class must be inherited.
 Extends means to inherit a class
 Implements means to inherit from the
interface
 The {} is needed and should not be omitted.

Syntax about method
Access modifier:
[public|private|protected|default]
 [abstract|final|synchronized|native|static](opti
onal)
 The order of the above two position is not
important.
 Return type [type|void]
 Name of method
 Argument
 Exception throw(optional)
 ()(abstract or interface method don't need ())

Meaning of these class syntax

First key word
Visibility
From the same class
From any class in the same package
From any class outside the package
From a class in the same package
From a class outside the same package
Public
Y
Y
Y
Y
Y
ProtectedDefault
Y
Y
Y
Y
N
N
Y
Y
Y
N
Private
Y
N
N
N
N
Final is the method declares a method that
cannot be overridden in the subclass
 Abstract means the method that should be
implement in the subclass
 Static means the method can be access
though no object is created, but they can
access instance variable or static variable
 Synchronized is used in mutil-threading
 Native means it is in C|C++ code
 Void means no return type
 Throw, we explain later

Variable

They are divided into following types:
 Static
variable
 Instance variable
 Local variable
 Final variable
 Transient variable
 Volatile variable

CLASS SCOPE SYNTAX:
 Public,
private, default, protected
 Transient, final, static, volatile
 type
 Name

LOCAL VARIABLE (DECLARE WITHIN
METHOD)
 Final(optional)
 Type
 Name
Meaning of these words
The modifier are the same as method
modifier.
 Final means, const if C, C++
 Static means the variable can be accessed
even the object is not there.
 Transient, volatile, talk later

Class variable characteristics

Access through object
 Like

Hello temp = new Hello();
temp.you, (assumed we have you variable)
 Static
variable can be accessed though no object
is there. Hello.temp no object is created.
Local variable
Life Only within the same
 Dead after the method

Data type
In java, everything is class, except the
following data type, which is not class
 Int
 Char
 Boolean
 Float
 Double
 Byte(8 bit)
 Long (64 bit)
 Short(16 bit)
 String is object. We will talk about it later

About concept of referenial variable
e.g Hello temp = new Hello();
 The, there is only one object allocated in
heap area.
 What is heap and stack?
 Stack is used for the store of local variable
 And heap is for the dynamic allocation of
memory, when we use new keyword, we
allocate memory for the object.
 How about we type Hello temp2 = temp
 They refer to the same object!.

Concept of object -oriented
programming

Encapsulation
 We
package the variable within a class, and so
we ensure some variable are not modified from
outside

Inheritance
 We
need to know the concept of ISA and HASA
 Like there is a employer class
 And we create a hour_employeer class to inherit
from it.
 The main point is we ask ourselves, is
hour_work a type of employee?

Casting
 As
we know hour_employee is a type of
employee and inherit from it and thus we can say
hour_employee is employee
 e.g.
 Employee temp = new hour_employee
 It works
 But now it is employee object
 The above is called static casting which cast
within compile time
 And (hour_employee) temp, is called dynamic
casting, that a superclass type want to cast itself
to be the subclass. It may not work

Polymorphism
 We
write a method a() in the super class
superclass
 And a() in the subclass sub, which extends
superclass
 We declare
 Superclass temp = new subclass()
 temp.a() is called not based on the type, but the
actual object allocated in the heap memory
 How about no a() declare in the sub?
 A() is called based on the type
 And this fexibility allow easy programming
 For example we write a method called
 Public void outName(Superclass a)
 We can write outName(subclass)