Java教程

Java简介

本文主要是介绍Java简介,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. Java简介:

Java SE: java standard edition
Java EE: java enterprise edition
Java ME: java micro edition

特点:

  1. 简单: 引用无指针,自动分配与回收内存。
  2. 面向对象:支持类的单继承extends,接口的多继承implements,extends:继承类,implements:实现接口。类通过程序实现,接口无程序实现,只能预定义方法。interface:接口
    java不支持多继承,只支持实现多接口。
    class A extends B implements C,D,E
  3. 支持网络应用的开发,在编程接口留了一个网络应用编程接口java net,提供用于网络编程的库如URL,URL connect,socket等。
  4. 安全:ClassLoader对网络下载的类有一个安全防范机制,防止代码被共计,分配不同的名字空间以防止替代本地的同类名。
  5. 结构中立:在java平台上被编译为中立的字节码格式,后缀为class的文件,可以是现在java平台的任何系统运行,适合异构的网络环境和软件的分发。
  6. 可移植性:java编译器为java实现,运行为C实现。
  7. 解释型:jaba在平台上被编译为字节码格式.class,可以在任何平台运行,解释执行。编译运行:一次性翻译为目标文件,解释执行,执行一句翻译一句,不生成目标程序.exe。
  8. 多线程:线程是一种特殊的对象,由Thread类或者其子类创建,1)Thread构造子类实现一个runnable接口的对象 2)Thread派生子类重写run方法。
  9. 动态: 类可以被动态的载入环境中,或者通过网络载入。

2. 基础语法

对象:对象是类的一个实例,有状态和行为。
类:模板,描述一类对象的行为和状态。
方法:方法就是行为,描述动作。
实例变量:状态由实例变量的值决定。

类名:首字母大写,如果多字母则驼峰。
方法名:小写字母开头,多字母则后面的字母驼峰
源文件名:源文件名与类名相同,已类名+.JAVA
主方法:public static void main(string[] args)开始执行

修饰符:
访问控制修饰符 : default, public , protected, private
非访问控制修饰符 : final, abstract, static, synchronized

变量:
局部变量:proivate
类变量(静态变量):static,可以直接使用
成员变量(非静态变量):public 必须实例后再使用
数组:堆上,可以保存多个同类型的变量。
枚举:设置好预先设定的值

关键字:
private:私有 public:公有 protected:受保护啊的 default:默认
abstract:抽象 class:类 extends:继承 final:最终的 implements:实现接口 interface:接口 native:本地 new:创建
static:静态 synchronized:线程同步 transient:短暂 volatile:短暂
instanceof实例

错误处理:
assert:断言,后面只能接true的,如果接false则会抛出一个Asserterror对象。用于调试,使用之前需要先打开断言功能。
catch:捕捉异常
finally:有没有异常都执行
throw:抛出一个异常对象
throws:声明一个异常可能被抛出
try:捕获异常

包:
package:导包
import: 引入

基本数据类型:
boolean
byte
char
double
float
int
long
short

变量引用:
super父类
this本类
void

3. 对象和类

变量:
局部变量:在方法内部被定义,方法结束后,变量就被销毁。
成员变量:在方法之外,创建对象的时候要实例化。
类变量:方法之外,声明为static类型。

构造方法:
构造方法与类同名,如果没有手动写,则编译器自动提供一个构造方法啊,一个类可以有多个构造方法。

创建对象:new
声明:声明对象,包括对象名称和类型
实例化:new
初始化:用new创建对象,调用构造方法来初始化对象:
Puppy myPuppy = new Puppy( “tommy” );
myPuppy为创建对象,Puppy为类名,初始化调用构造函数Puppy( “tommy” );

访问实例变量和方法:通过对象来访问成员变量和成员方法。

Java包:
import:引用
import java.io.*; 路径下的类
*:代表全部

源文件:
一个源文件只能有一个public类
一个源文件可以有多个非public类
源文件名与public类名一致
package在源文件的首行,类定义在包内
import位于package与类定义之间

4.基本数据类型

  1. 内置数据类型:
    byte: 8位,有符号,-128-127,默认为0
    short:16位,有符号,-32768-32767,默认为0
    int:32位
    long:64位 long a =1000L
    float:32位,单精度,默认为0.0f
    double:双精度,64位,0.0d
    boolean:true、false
    char:16位unicode,\u0000-\uffff, 默认’u0000’
    如char l = ‘A’

  2. 引用类型:
    引用类型默认为NULL,类似于指针,声明后不能改类型,如对象和数组,默认为NULL。

  3. 常量:
    final double PI = 3.1415927;
    常量名一般大写,后面数字前缀 0 表示 8 进制,而前缀 0x 代表 16 进制。
    \n 换行 (0x0a)
    \r 回车 (0x0d)
    整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。

转换从低级到高级。

低 ------------------------------------> 高

byte,short,char—> int —> long—> float —> double

5.变量类型

变量:

public class Variable{
static int allClicks=0; // 类变量

String str="hello world";  // 实例变量

public void method(){

    int i =0;  // 局部变量

}

局部变量:
在方法内,没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
实例变量:
在类中,在方法,构造方法和语句块之外。在对象被实例化之后,实例变量的值就确定。对象创建的时候创建,对象被销毁的时候销毁。实例变量至少被一个方法引用,使得外部能获取实例变量的信息。
实例变量一般为私有的,仅在该类中可见;实例变量位公有的,其子类也可见。有默认值。
类变量:
静态变量,以static关键字声明,在方法之外。类变量声明为常量常用,其他不常用。在静态数据区,大多数声明为public。类变量声明为public static final时,类变量大写。

6.修饰符

default:默认,同类同包子类可见,其他包不可见
private:在同一个类中可用
public:接口,对所有类可用
protected:同一包内的类和其子类可见

接口中变量默认为 public static final
接口中方法为 public

如果把 openSpeaker() 方法声明为 private,那么除了 AudioPlayer 之外的类将不能访问该方法;如果把 openSpeaker() 声明为 public,那么所有的类都能够访问该方法;如果我们只想让该方法对其所在类的子类可见,则将该方法声明为 protected。

请注意以下方法继承的规则

父类中声明为 public 的方法在子类中也必须为 public。

父类中声明为 protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。

父类中声明为 private 的方法,不能够被子类继承。

final 方法可以被子类继承,但是不能被子类重写
final 修饰符通常和 static 修饰符一起使用来创建类常量。

abstract抽象
抽象类的唯一目的是为了将来对该类进行扩充。抽象类包括抽象方法和非抽象方法,抽象方法为没有实现,具体实现由子类实现,继承抽象类的子类必须实现父类的所有抽象方法,抽象方法已分号结束。

synchronized 同步
synchronized方法同一时间只能被一个线程访问。

transient
jvm跳过该变量,用于预处理类和变量的数据类型。

volatile
每次都从内存中读取数据,不同的线程总是一个值。

7.运算符

instanceof 检测接口/类是否为某个类型

类别 操作符 关联性
后缀 () [] . (点操作符) 左到右
一元 expr++ expr-- 从左到右
一元 ++expr --expr + - ~ ! 从右到左
乘性 * /% 左到右
加性 + - 左到右
移位 >> >>> << 左到右
关系 > >= < <= 左到右
相等 == != 左到右
按位与 & 左到右
按位异或 ^ 左到右
按位或 | 左到右
逻辑与 && 左到右
逻辑或 | | 左到右
条件 ?: 从右到左
赋值 = + = - = * = / =%= >> = << =&= ^ = | = 从右到左
逗号 , 左到右

这篇关于Java简介的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!