转载至:http://www.runoob.com/java/java-variable-types.html html
对菜鸟教程进行核心整理:java
Java做为一种面向对象语言主要特性概念以下数组
接口:接口可理解为对象间相互通讯的协议。接口在继承中扮演着很重要的角色。(可多继承)接口只定义派生要用到的方法,可是方法的具体实现彻底取决于派生类。ide
一、多态:前提是继承,不一样类对同一消息做出响应。解决应用程序重名问题,参数化多态和包含多态。函数
二、继承:增长类的可重用性,一个类能够由其余类派生。若是你要建立一个类,并且已经存在一个类具备你所须要的属性或方法,那么你能够将新建立的类继承该类。
利用继承的方法,能够重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(subclass)。spa
三、封装:把过程和数据包围保护(private),经过受保护接口访问其它对象线程
四、抽象:忽略主题无关,更加注意主旨,抛弃细节,有过程抽象(函数),数据抽象(数据类型)指针
五、类:类是一个模板,它描述一类对象的行为和状态。code
六、对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。htm
七、实例:每一个对象都有独特的实例变量,对象的状态由这些实例变量的值决定
八、方法:方法就是行为,一个类能够有不少方法。逻辑运算、数据修改以及全部动做都是在方法中完成的。
九、重载:同一类中有俩个以上相同的方法名,但参数不一样,方法不一样。
须要注意的地方:(JAVA关键字也不能在类名或者方法使用。)
一、见名释义
二、不跟关键字和保留字冲突
三、驼峰原则,类名和接口名首字母大写(大驼峰规则) 常量名大写下划线分开 变量名,方法名(小驼峰规则)首字母小写,第二个单词大写
访问控制修饰符 :
private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)同类
default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。同类,同包
protected : 对同一包内的类和全部子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。同类,同包,子类
public : 对全部类可见。使用对象:类、接口、变量、方法。同类,同包,子类,全部包
非访问控制修饰符 : static,1.静态变量2.静态方法
final,1.final变量:变量一旦赋值后,不能被从新赋值。final 修饰符一般和 static 修饰符一块儿使用来建立类常量。
2.final方法:final 方法能够被子类继承,可是不能被子类修改。3.final类不能被继承。
abstract,1,抽象类:对该类扩充,抽象类能够包含抽象方法和非抽象方法。2,抽象方法:具体实现由子类提供
synchronizeds关键字声明的方法同一时间只能被一个线程访问。synchronized 修饰符能够应用于四个访问修饰符。(volatile 修饰:两个不一样的线程老是看到某个成员变量的同一个值。)
数组是储存在堆上的对象,能够保存多个同类型变量。在后面的章节中,咱们将会学到如何声明、构造以及初始化一个数组。
枚举限制变量只能是预先设定好的值。使用枚举能够减小代码中的bug。
注释: // 这是单行注释的示例 /* 这个也是单行注释的示例 */
/* 这是第一个Java程序
这是一个多行注释的示例 */
重写是子方法覆盖父类方法、要求方法名和参数相同;(前提是继承)
重载是同一类中有俩个以上相同的方法名,但参数不一样,方法不一样。
构造函数是重载的一种,最大的做用是建立对象完成初始化。每一个类都有构造方法。若是没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。在建立一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类能够有多个构造方法。
Puppy myPuppy = new Puppy( "tommy" );/* 实例化对象 */ ObjectReference = new Constructor();
/* 访问类中的变量 */ ObjectReference.variableName; /* 访问类中的方法 */ ObjectReference.methodName();
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
一、byte
二、short
三、int
四、long
五、float
六、double
七、boolean
八、char
相应的封装方法
System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
System.out.println("包装类:java.lang.Byte");
System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
在Java中,引用类型的变量很是相似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,好比 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
对象、数组都是引用数据类型。
全部引用类型的默认值都是null。
一个引用变量能够用来引用任何与之兼容的类型。
常量在程序运行时是不能被修改的。
在 Java 中使用 final 关键字来修饰常量,声明方式和变量相似:
final double PI = 3.1415927;
整型、实型(常量)、字符型数据能够混合运算。运算中,不一样类型的数据先转化为同一类型,而后进行运算。
byte,short,char—> int —> long—> float —> double
转换的规则:
1. 不能对boolean类型进行类型转换。
2. 不能把对象类型转换成不相关类的对象。
3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
4. 转换过程当中可能致使溢出或损失精度
5. 浮点数到整数的转换是经过舍弃小数获得
强转可能丢失精度:
int强转成float,long强转成float,long强转成double可能出现精度损失。