java .net 语法比较_java语法与.net不同的地方

java的数据类型分2种:

基本数据类型:

数值型:

整数类型:

byte:一个字节

short:两个字节

int:四个字节

long:八个字节

浮点类型:

float:四个字节

double:八个字节

字符型(char):两个字节

布尔型(boolean):一个字节

引用数据类型:

类(class):

接口(interface):

数组:

静态代码块:

相当于.net的静态构造函数

语法:static{}

静态变量和静态代码块哪个在前,哪个先执行

内部类:

.net中也有,不过很少用

在类内部定义的类叫做内部类,内部类是外部类的一个成员

引用方法:outer.inner inner = new outer().new inner();

一个类可以有多个内部类

在内部类中有一个默认的外部类实例引用:outer.this

内部类可以直接访问外部类,外部类不能直接访问内部类

在方法中定义的内部类为局部内部类,只能在方法中使用

在方法中可以定义匿名内部类,匿名内部类为当前类名所表示的类的子类

static修饰的内部类为静态内部类

非静态内部类不能声明静态成员,

因为静态成员不需要创建对象,如果内部类非静态,我们就不能通过.直接访问内部类,也就访问不到static变量

匿名内部类

由于需要给方法传递一个对象,该对象只使用一次,所以可以用匿名对象

由于子类被定义后只使用一次,所以可以使用内部类

由于方法需要一个父类,我们就可以new一个父类对象,在类名后跟一对花括

号,就表示匿名内部类,这时new的就不再是父类对象,而是一个子类对象,

这个子类没有类名,所以我们称之为匿名内部类。匿名内部类做了两件事情,

定义子类和创建对象。

继承

单继承

子类用super调用父类,.net用base

new a() instanceof b 判断a是否属于b

final关键字:

final可以用来修饰类,属性,方法

final修饰的类不能被继承,相当于.net的sealed

final修饰的方法不能被重写,相当于.net的方法没有virtual,java默认所有方法都能重写

final修饰的变量称为常量,相当于.net的const

异常

java中所有的异常和错误继承自Throwable接口,表示可被抛出的对象

Throwable有两个子类:

Error(错误):虚拟机系统错误,比较严重,处理不了,也不必处理

Exception(异常):比较严重错误,必须处理,如果不处理,编译时会报错

RuntimeException(运行时异常)是Exception的子类:一些小异常,发生比较频繁,处理麻烦,所以不强制处理,编译不会报错

处理异常两种方式:

1 throws,抛出

2 try {}catch{}finally{} 捕获

java中的包:

java类需要定义一个包名,包名尽量用英文,所有字母小写

如果一个类被声明为public,这个类地类名必须和文件名保持一致,一个文件只能有一个public类

编译带包的文件:java -d

访问不同包中的类时,要么加上包名,要么用import语句导入包

import cn.* :会导所有类,首先在自己的包中找,没找到去导入的包中找

import cn.person:直接去包中找

如果包不在当前目录,需要访问包中的类,首先应该将包所在的目录加到classpath环境变量下

然后导包,注意:任何时候都不能把java包和操作系统的目录看作一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值