Sunteți pe pagina 1din 33

- C++

Java

.www.underwar.co.il . , , , . . Nir Adar Email: nir@underwar.co.il , ,

.1

2 4 4 5 5 6 7 7 9 9 10 10 10 11 11 11 12 13 14 14 14 15 15 17 18 19 20 21 22 22 23 24 24 25 25

.1 .2 .2.1 .2.2 .2.3 .2.4 .3 .3.1 .3.2 .3.3 .4

JAVA-

JAVA VIRTUAL MACHINE C++PACKAGESPACKAGE IMPORT

JAVA

.4.1 .4.2 CASE SENSITIVITY .4.3 JAVA.4.4 .4.5 .4.6 .4.7 .4.8 .4.8.1 .4.8.2 DEFAULT CONSTRUCTOR .4.8.3 .4.8.4 .4.8.5 .4.8.6 .4.8.7 .4.8.8 .4.9 OBJECT .5.9.1 .5.9.2 FINALIZATION .5.9.3 .4.10 FINAL .4.11 WRAPPERS JAVADOC .5 .5.1

25 26 28 31 32

JAVADOC JAVADOCPACKAGESJAVADOC

.5.2 .5.3 5.4. 5.5. 5.6.

.2

.2.1
. .1995- , .C++C++ Java Java

:C++ . unions ,C++ . . Java.

Java Java .(Exception)

Java-

code verifier , . . , . C++. , , / . . Java . Java , . ,

Java

Java - Garbage Collector

,Garbage Collector-

Java . ,

Java Virtual Machine .2.2


.(JVM) Java Virtual Machine, , .native code Java , Java. Java ,Java .byte code :

. Hello, World!

.2.3

Hello.Java
public class Hello { public static void main(String[] args) { System.out.println("Hello, World!"); } }

: . ,C++ . . .( : C:\> Javac Hello.Java . .main

Java , )

Javac (Java Compiler)

: C:\> Java Hello .class . : C:\> Java Hello.Java .class

Exception in thread "main" Java.lang.NoClassDefFoundError: Hello/Java

Java. ,JavaC++

C++

.2.4
header (templates) . Typedef

.(' #define

) preprocessorgoto

.enum- struct, union

.references-

.( .h

java ,

packages-

.3

package

.3.1

"

".packages

Java

,package-

package <package name>;

<package name> :

// File MyClass.Java package MyFirstPackage; class MyClass {

package-

, .MyFirstPackage

package-

package.default package

package . , package.package .Javac -d .package

package

class.package, class-

C:\> Javac -d C:\ MyClass.Java class.C:\ . packages . , . . packagepackage , packagepackagespackagepackage , package . .packages ,MyFirstPackage packages

import
, .import:

.3.2

import <package name>;

.packages , ,

* package .package-

.3.3
package .import ,Java . package,import package .import Java.lang , package

Java

.4

.4.1
C/C++ , . .C/C++.Java ) Java ,( unsigned 4 , ,int Java-

Type boolean char byte short int long float double void

Size 16-bit 8-bit 16-bit 32-bit


64-bit 32-bit 64-bit -

Minimum Unicode 0 128 215 231


263 IEEE754 IEEE754 -

Maximum Unicode 216 1 127 215 1 231 1


263 1 IEEE754 IEEE754 -

Literals true, false 'x' (byte)1 (short)1 1, 0754, 0xfe 1L 1.2f 1.2 -

Default* False '\u0000' (byte)0 (short)0 0


0L 0.0f 0.0d -

.members variables

-*

Wrappers .4.2
. :int
Java ,

,
Integer

Integer n = new Integer("4"); int m = n.intValue();

Case Sensitivity .4.3


.Main .
main

:Case Sensitive

Java

Java: . . . , ,getPrice() , . (final)


Java-

.4.4

.4.5
. :C++
// blah blah /* this is a blah blah */

Java

.Javadoc

,Java :

/** comment */

.4.6
.C++: - ,/ ,* ,+ ,()% , : *= ,- = ,+= ,= : > ,< ,<= ,>= ,== ,!= : || ,&& ,! : , .1 .2 .3 .4 -- ,++ .5 . : . / . . . - Java.for. /
JavaC-

Java

casting

Java- ,C-

C- Java

C/C++ -

sizeof * & :: ,

.4.7
: .C++
Java

if/else

if (expression) { // block } else { // alternate block }

do/while

do { // block } while (expression);

for loop

for (initalize; condition; step) { // block }

switch... case

switch(indifier) { case VALUE1: case VALUE2: // act 1 break; default: // act2 break; }

.4.8
. .( . ).
Java-

Java

.4.8.1

.private, public, protected :C++ . .

,public ,private ,protected .

Java-

C++-

Java-

: .

.package friendly .
package-

, (package)

.4.8.2

. . .

, , , .

Default Constructor .4.8.3

, , . ,C++ ,

Java-

, .
false-

.null,

.4.8.4

instantiation

.new (
reference- )

. . ,

instance

. , (' int, char)

. . Java-

. , : .

Box myBox;

.Box

reference reference

) .(

C++- :C++ reference

Java-

Box myBox = new Box();

.null , .Java.Class-Type , .

reference

reference-

Class-Type

: .

Car familyCar, sportCar; familyCar = new Car(); sportCar = familyCar;

.reference , .reference ,

sportCar - familyCar
reference-

familyCar
reference-

sportCar-

.4.8.5

. , . . :

Java-

==

Integer i1 = new Integer("3"); Integer i2 = new Integer("3"); Integer i3 = i2;

:
i1 == i1 && i1 != i2 && i2 == i3

. : ,boolean equals(Object o)

i1.equals(i1) && i1.equals(i2)

Java-

.Object .equals

. . ,Java , , , , .

Object equals true

, .

,== :

public class { String String ... public {

Name firstName; lastName; boolean equals(Object o) if (!(o instanceof Name)) return false; Name n = (Name)o; return firstName.equals(n.firstName) && lastName.equals(n.lastName);

} }

.4.8.6

. . . :

Java-

length

Animal[] arr; // nothing yet arr = new Animal[4]; // only array of pointers for(int i=0 ; i < arr.length ; i++) arr[i] = new Animal(); // now we have a complete array

.
false- ,

.
char null-

Javafor-

0.boolean

,=

Java-

int vec1[] = {1,2,3}; int vec2[] = {8,7,6,5}; vec1 = vec2; // Won't copy the array!

.arraycopy

, ,Java :System

arraycopy

public static void arraycopy(Object src, int src_position, Object dst, int dst_position, int length);

int []vec1 = {1,2,3,4,5}; int []vec2 = new int[vec1.length]; System.arraycopy(vec1, 0, vec2, 0, vec1.length);

.4.8.7

Java-

String s = "Hello, World";

,"Hello, World".C/C++ ,

,
Java- .

. String.(

String reference-

) String

.4.8.8

.(class variables) . , .( . , , . ,C++). , .


static

.4.9
. ,
Java

:Java

class Base { Base(){} Base(int i) {} protected void foo() {} } class Derived extends Base { Derived() {} protected void foo() {} Derived(int i) { super(i); super.foo(); } }

class Base { void foo() { System.out.println(Base); } } class Derived extends Base { void foo() { System.out.println(Derived); } } public class Test { public static void main(String[] args) { Base b = new Derived(); b.foo(); // Derived.foo() will be activated } }

.C++

Java- :Java .C++

Object .5.9.1

.Object : ,

,Java

boolean equals(Object o); Object clone(); int hashCode(); String toString();

.5.9.2

, . . .C++ :

public abstract class Shape { public abstract void draw(); public void move(int x, int y) { setColor(BackGroundColor); draw(); setCenter(x,y); setColor(ForeGroundColor);

draw(); } }

public class Circle extends Shape { public void draw() { // draw the circle ... } }

Finalization -

.5.9.3

:
DestructorGarbage Collector-

.finalize() , .'
C++-

Object

. . , ,C++ , .Java: . .void .protected .Object

finalize

.finalize()

.1 .2 .3 .4

finalize()

.4.10
. " : " , (public) .final- public, static- : . ,

interface IChef { void cook(Food); } interface Singer { void sing(Song); } interface SouthParkCharacter { void curse(); } class Chef implements IChef, SouthParkCharacter { public void curse() { } public void cook(Food f) { } }

final .4.11
. . . . . , final
final- final- final-

Javadoc .5

.5.1
"
Java .

Javadoc- .Javadoc

.
Java-

HTML

.5.2
. .Javadoc( ) */ /**
Javadoc

Javadoc

:
Javadoc

.* :

/** * This is the descriptive text of the doc comment. * * @Xxx Comment for the tag. * @Yyy Comment for the tag. */ public class Aaa { }

...'

/ .

javadoc-

/* -

**/ : .*

,
javadoc-

<LI></LI>

HTML-

HTML

<P> . .

"

Javadoc

. . ,summary-

Javadoc
.
Javadoc-

.5.3

,
Javadoc -

Overrides :

.(

interface-

,
Javadoc -

Specified by : .(interface-

Javadoc-

, " ) . , .(
interface-

interface-

,packages, interfaces,

javadoc-

</code>- <code>

/** * This class is an improved version of the <code>Button</code> class. * * . . . * */

.@link
Javadoc-

Javadoc

(@link .

, , :

. . .@param

javadoc

/** * Requests that this applet be resized. * * @param width The new requested width for the applet */

javadoc, .
javadoc@ javadoc @author

.5.4
,
javadoc-

.javadoc, . :
javadoc-

, .

:field - @since ,@see :

javadoc
fieldjavadoc

@deprecated

class

javadoc :interface @author author name .interface/class

.javadoc .
method ,interface ,class

@author

@see className
field

:
:

( (

) method ) method

field

@see # nameOfMethodOrField

field

@see nameOfOtherClass#nameOfMethodOrField (overriding methods) / . . / method

@see java.awt.Container#add(String,Component) @see class\interface javadoc

@since sinceText interface field\method\constructor\class- . ,( ) deprecated/ deprecated- interfaceclass- . . ."No replacement" JDK

@deprecated deprecatedText

method -

Javadoc :constructor @param parameterNameDescription

@param size long size of : . : .the ) CODE.(@param / an ,a-

.constructor ,

method@param

.the file

.@param num the int number to be tested javadoc- .( ) , . @return length of the file: . . exception.methodconstrucotrs- void exceptionHTML .@exception exception .( . exception @throws exception .(NullPointerException Throws: , .

@return description

@exception fulltQualifidClassNameDescription

throws-

javadocexception )

@exception IOException if the file is too big : - errors

@see className . See Also , .( .class/interfaceclass/interface .class/interface @deprecated deprecatedText .(deprecate) . .deprecated . .No replacement deprecated- deprecated @link method\constructor . @since , )

@since sinceText @since

{@link} . :Applet

/** * Returns an absolute URL naming the directory of the document in which * the applet is embedded. For example, suppose an applet is contained * within the document: * <blockquote><pre> * http://java.sun.com/products/jdk/1.2/index.html * </pre></blockquote> * The document base is: * <blockquote><pre> * http://java.sun.com/products/jdk/1.2/ * </pre></blockquote> * * @return the {@link java.net.URL} of the document that contains this * applet. * @see java.applet.Applet#getCodeBase() */ public URL getDocumentBase() { return stub.getDocumentBase(); }

:Default Constructor default constructor .

packages,package.html package . package.html API .HTML interfaces.( BODY , .*/- /** :package.html . . .(' , ) : , . package :package specification:Related Documentation .Package Xxx Description . : Provides classes and interfaces for handling mobile , package package package packages .(*.java) package.html package.html . interfaces) package.html

.5.5

interfacesc .documentation

package : :

.communication".

@category interfaces. classes-

interfaces- classes ,packages

Javadoc
: Javadoc-

.5.6

javadoc [options] [package | source.java] package- ( HTML index ) . Javadoc HTML- protected JavadocHTML , (tree.html) . .HTML public .package ,

(packages- )

/ :

options(package\packagespublic-

public

HTML- .

protectedpublic HTML- .protected packagepublic, . HTML- package friendly protected private. HTML-

author. author@ .HTML- d directory. HTML- HTML-

sourcepath pathpackage Javadoc package- ) package.( ) source code pathpackagespath( .javadoc javadoc

S-ar putea să vă placă și