1>java数据类型划分
Java中定义了4类8种基本数据类型。
1.逻辑型-boolean(只能true或false 不能0或1)
2.字符型- char
3.整数型- byte, short, int, long
4.浮点数型- float, double
容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为:
byte,short,char->int->long->float->double
byte,short,char之间不会互相转换,他们三者在计算时首先回转换为int类型
容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。
有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算.
实数常量(如:1.2)默认为 double。整数常量(如:123)默认为 int
注意:可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围
byte b = 12; char c = 100;
(错误)byte bb = 256; (错误) X short s = -32769;
2>面向对象编程语言三大特性
1.封装
2.继承
3.多态
3>J2SDK中主要的包介绍
java.lang-包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。
java.awt-包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。
java.net-包含执行与网络相关的操作的类。
java.io-包含能提供多种输入/输出功能的类。
java.util-包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数
4>类的继承与权限控制
1.Java 中使用 extends 关键字实现类的继承机制
2.通过继承,子类自动拥有了基类(superclass)的所有成员(成员变量和方法)。
3.Java只支持单继承,不允许多继承:
(一个子类只能有一个基类 一个基类可以派生出多个子类)
//继承中的权限控制
class Parent{
private int n_private =1;
int n_friendly = 2;
protected int n_protected = 3;
public int n_public = 4;
}
class Child extends Parent {
public void f(){
//n_private =10;
n_friendly = 20;
n_protected = 30;
n_public = 40;
}
}
Question
继承:子类可以继承父类的私有成员变量吗??
1、关于私有成员变量
无论父类中的成员变量是私有的、共有的、还是其它类型的,子类都会拥有父类中的这些成员变量。但是父类中的私有成员变量,无法在子类中直接访问,必须通过从父类中继承得到的protected、public方法(如getter、setter方法)来访问。
2、关于静态成员变量
无论父类中的成员变量是静态的、还是非静态的,子类都会拥有父类中的这些成员变量。
3、关于被子类覆盖的成员变量
无论父类中的成员变量是否被子类覆盖,子类都会拥有父类中的这些成员变量。