以下为《Java基础》的无排版文字预览,完整内容请下载
Java基础
OOP
OOP(Object Oriented Programming)面向对象编程
对象
对象与对象变量之间的区别
一个对象变量别没有实际包含对象,而仅仅时引用一个对象。
局部对象变量并不会自动初始化为null,必须通过调用new或者显示设置为null进行初始化。
对象的的三个主要特征
对象行为
可以对对象施加哪些操作
对象的状态
当施加那些方法时,对象如何响应
对象标识
如何辨别具有相同行为和状态的不同对象
类之间的关系
聚合
依赖
继承
表达类关系的UML符号
继承:
/
接口继承:
/
关联:
/
聚合(弱拥有关系):
/
组合(强拥有关系):
/
依赖:
/
封装
不要编写返回引用可变对象的访问器方法,违反了设计原则。
如果需要返回一个可变对象的应用,需要进行克隆。
final关键字
常量。
可以将实例域定义为final,但是在构造时必须初始化这样的实例域。
final修饰符大都应用于基本数据类型,或不可变类的域(不可变类:如果类中的每个方法都不会更改其对象,就是不可变的类)
final修饰的类不可被继承,final修的是的方法不可被重写。
static关键字
静态域。
静态常量。
静态方法,静态方法是一种不能向对象实时操作的方法。
静态方法不能访问实例域。但是,静态方法可以访问自身类中的静态域。
使用静态方法的情况:
一个方法不需要访问对象状态,其所需参数都是通过显示参数提供的。
一个方法只需要访问类的静态域。
方法重载
方法重载,具有相同方法名称,不同参数的的方法。
返回类型不是签名的一部分,所以重载不能使用返回类型作为参考。
默认域初始化
域域局部变量的主要不同点。必须明确的初始化方法中的局部变量。但是,如果没有初始化类中的域,将会被默认初始化为默认值(0,false,null)
初始化块
首先运行初始化块,然后再执行构造器主体部分。
{
// 实例域初始化语句
}
可以提供一个初始化值或者静态的初始化域进行初始化。
static {
// 静态域初始化块
}
在类的第一次加载时,将会进行静态域的初始化。
类的设计技巧
将数据设计为私有。
对数据进行初始化。
不要在类中使用过多的基本数据类型。
不是所有域都需要独立的域访问器和域更改器。
使用标准格式进行类的定义。
将职责过多的类进行分解。
类名和方法名要能够提现他们的职责。
基本数据类型
Java一共拥有8种基本数据类型:
4种整型
类型
存储需求
取值范围
int
4个字节
-2147… ~ 2147…
short
2个字节
-32768 ~ 32767
long
8个字节
-9223… ~ 9223…
byte
1个字节
-128 ~ 127
2种浮点型
类型
存储需求
取值范围
float
4个字节
double
8个字节
float类型的数值有一个后缀F,没有后缀的默认是double类型。
1种表示Unicode编码的字符单元的字符型char
1种用于表示真值的boolean类型
Java中没有任何无符号类型
占用内存
在Java中,所有对象的内存占用都会是8个字节的倍数,如果小于8个字节,则向上对齐到8的整数倍。
一个空的char数组本身会占用16个字节(char数组本身也是一个特殊的对象,对象头是8个字节,外加一个数组长度是int类型4个字节,一共12个字节,不是8的倍数,所以向上 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 ostAddress())){
23
localIPlist.add(interf);
24
}
25
}
26
}
27
}
28
return localIPlist;
29
}
30
}
验证问题:
windows:执行“netsh interface ipv4 show joins”
linux:执行“netstat -g”
/
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《Java基础》的无排版文字预览,完整内容请下载
Java基础由用户“maxiuping”分享发布,转载请注明出处