日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

走进Java

發(fā)布時(shí)間:2025/3/14 java 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 走进Java 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

先百度下學(xué)習(xí)方案。

?

在線文檔

http://tool.oschina.net/apidocs/apidoc?api=jdk_7u4

http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

?

菜鳥教程

http://www.runoob.com/

http://www.runoob.com/java/java-tutorial.html

跟它學(xué)吧。。

?

javac

java

編譯、運(yùn)行,第一課必然是這點(diǎn),但不用鏈接嗎?現(xiàn)在還不知道。

javac編譯出的文件是.class,似乎不是最終的可執(zhí)行程序,但可以用java命令執(zhí)行,難度java的輸出文件是.class?這似乎是類的obj吧。

?

JavaSE

JavaEE

JavaME

標(biāo)準(zhǔn)版、企業(yè)版、移動(dòng)版。

?

特性:

1. 簡單

沒有操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換、指針。托管內(nèi)存。

2. 面向?qū)ο蟆⑹褂媒涌?/p>

接口支持多繼承,類不支持。

Java支持全面的動(dòng)態(tài)綁定,不懂。

3. 網(wǎng)絡(luò)支持, java net

URL, URLConnection, Socket,ServerSocket, RMI(遠(yuǎn)程方法激活)

4. 健壯

強(qiáng)類型、異常、內(nèi)存托管。處處與C++對(duì)比。

5. 安全

網(wǎng)絡(luò)環(huán)境下的 ClassLoader , SecurityManager。

6. 中立,無非就是虛擬機(jī)機(jī)制的跨平臺(tái)特性。

7. 移植,同上。

8. 解釋性語言,類似.net

9. 高性能,C++笑了。

10. 多線程。

這大概是我在C++里的一個(gè)痛點(diǎn)了。

synchronized 線程同步機(jī)制

11. 動(dòng)態(tài)

Java類的動(dòng)態(tài)加載。

?

有些明白為什么編譯出來是.class了,這就是編譯出來的文件,好像java還有包的概念,這就是它的結(jié)構(gòu)嗎?

?

注釋和C++一樣。 // /* */

對(duì)象、類、方法、實(shí)例變量

類名首字母大寫

方法名首字母小寫

源文件名與類名相同

入口 public static void main(String args[])

?

標(biāo)識(shí)符 沒什么特別

?

修飾符

default

是switch的默認(rèn)分支?那應(yīng)該是在關(guān)鍵字部分的作用而不是修飾符。那是默認(rèn)構(gòu)造函數(shù)?像C++11那樣?

strictfp

?

變量 :

類變量(靜態(tài)變量)

按Java的規(guī)則,沒有全局變量,只能是靜態(tài)變量了。

?

數(shù)組

?

枚舉與c#沒什么區(qū)別

不對(duì),Java中可以在枚舉中構(gòu)造方法、變量、構(gòu)造函數(shù),也即枚舉也是一個(gè)類型。

?

關(guān)鍵字

boolen, 不是bool 需記一下

break
跳出循環(huán)或者label代碼段,label代碼段,比較陌生

const 未使用。那怎么定義常量呢?

extends 表示一個(gè)類是另一個(gè)類的子類,怎么用呢?

final
表示一個(gè)值在初始化之后就不能再改變了
表示方法不能被重寫,或者一個(gè)類不能有子類。這個(gè)解釋我懂,什么叫一個(gè)值初始化之后就不能再改變了呢?常量?

goto 未使用,即沒有g(shù)oto 那也就是說沒有const了,還是怎么定義常量呢

implements
表示一個(gè)類實(shí)現(xiàn)了接口

import
導(dǎo)入類

instanceof
測(cè)試一個(gè)對(duì)象是否是某個(gè)類的實(shí)例,類似 iskindof 吧

interface
接口,一種抽象的類型,僅有方法和常量的定義。定義方法我明白,常量也可以在接口中定義

native
表示方法用非java代碼實(shí)現(xiàn),什么鬼?調(diào)用C++什么的非托管方法?

package
一系列相關(guān)類組成一個(gè)包,不懂。

strictfp
浮點(diǎn)數(shù)比較使用嚴(yán)格的規(guī)則,不懂。

synchronized
表示同一時(shí)間只能由一個(gè)線程訪問的代碼塊,線程同步,概念懂。

throws
定義方法可能拋出的異常。概念知道。

transient
修飾不要序列化的字段,不懂。

volatile
標(biāo)記字段可能會(huì)被多個(gè)線程同時(shí)訪問,而不做同步,公共數(shù)據(jù)嘛。

剛LOL了一把,繼續(xù)。

JAVA特性:

多態(tài)、繼承、封裝、抽象、類、對(duì)象、實(shí)例、方法、消息解析

一個(gè)源文件只能有一個(gè)public類,可以有多個(gè)類。源文件名與public類相同。

如果一個(gè)類定義在某個(gè)包內(nèi), 則首行語句為 package 包名

import 在package之后,類定義之前。

package和import對(duì)整個(gè)文件中的類生效。

?

包: 給類分類,看定義類似名稱空間。

測(cè)試代碼:

package Employ;/** To change this license header, choose License Headers in Project Properties.* To change this template file, choose Tools | Templates* and open the template in the editor.*/import java.io.*;/**** @author y*/ public class Employee {String name;int age;String designation;double salary;// 構(gòu)造函數(shù),java里叫構(gòu)造器public Employee(String name){this.name = name;}// 設(shè)置agepublic void empAge(int empAge){this.age = empAge;}// 設(shè)置designationpublic void empDesignation(String empDesig){this.designation = empDesig;}// 設(shè)置salarypublic void empSalary(double empSalary){salary = empSalary;}// 打印public void printEmployee(){System.out.println("Name:" + name);System.out.println("Age:" + age);System.out.println("Designation:" + designation);System.out.println("Salary:" + salary);} } /** To change this license header, choose License Headers in Project Properties.* To change this template file, choose Tools | Templates* and open the template in the editor.*/ package Employ;import Employ.Employee;/**** @author y*/ public class EmployeeTest {public static void main(String args[]){// 構(gòu)造兩個(gè)employeeEmployee empOne = new Employee("小楊");Employee empTwo = new Employee("大楊");// 分別調(diào)用empOne.empAge(2);empOne.empDesignation("小楊小楊");empOne.empSalary(1000);empOne.printEmployee();empTwo.empAge(30);empTwo.empDesignation("大楊大楊");empTwo.empSalary(400);empTwo.printEmployee();} }

?

順便測(cè)試了運(yùn)行配置,可以在同一個(gè)項(xiàng)目里選擇啟動(dòng)的入口類。一個(gè)項(xiàng)目中可以有多個(gè)main()。c++就不行了。

?

數(shù)據(jù)類型

java好像沒有unsignd 類型?

所有數(shù)字類型有 SIZE? MAX_VALUE MIN_VALUE三個(gè)靜態(tài)變量,定義了類型的位數(shù)、最大值、最小值。

有void類型,無法操作。java.long.Void

?

果然沒猜錯(cuò),java使用final定義常量。

這里的轉(zhuǎn)義,以后會(huì)很有用:

http://www.runoob.com/java/java-basic-datatypes.html

?

訪問修飾符,

default,默認(rèn),包內(nèi)可見類似c#的internal

private,public,

protected,與c++和c#不同的是,對(duì)包內(nèi)的類和所有子類都可見。

?

接口,接口里的變量默認(rèn)為 public static final, 方法默認(rèn)為public

類和接口不能聲明為private

Java的main()必須是公有的, public static 。

protected也不能聲明類和接口。聲明的成員可以被包內(nèi)的類可見。接口的成員和方法也不能聲明為protected

?

父類public,子類必須public

父類protected, 子類可以public, protected。

父類默認(rèn),子類可以private

?

final , 類不能被繼承,方法不能被重新定義,變量為常量。

final修飾的引用,不能指向其他對(duì)象,但可以被修改。即,這相當(dāng)于指針常量而不是常量指針。

?

抽象方法必須在抽象類中,抽象類可以不包含抽象方法。

使用extends繼承類, implement實(shí)現(xiàn)接口,略感別扭。

序列化的對(duì)象包含被transient修飾的實(shí)例變量時(shí),java虛擬機(jī)(JVM)跳過該特定的變量

?

今天到此,

學(xué)習(xí)了 基礎(chǔ)語法,對(duì)象和類,數(shù)據(jù)類型、變量、修飾符。

明天到運(yùn)算符處。

http://www.runoob.com/java/java-operators.html

轉(zhuǎn)載于:https://www.cnblogs.com/hailong/p/5020790.html

總結(jié)

以上是生活随笔為你收集整理的走进Java的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。