Java数据类型
1.基本数据类型
整型
- byte
- short
- int
- long
浮点型
- float
- double
字符型
- char
布尔型
- boolean
2.引用数据类型
数组
类
接口
四种访问修饰符
1.public
- 是公共的
- 所修饰的成员在任何的类中都可以访问到
- 能用来修饰类,在一个java源文件中只能有一个类被声明为public,而且一旦有一个类为public,那这个java源文件的文件名就必须要和这个被public所修饰的类的类名相同,否则编译不能通过
- 一个类作为外部类的时候只能被public或者默认访问修饰符所修饰,但是一个类如果作为内部类的时候,则可以被四种访问修饰符所修饰,因为一个类作为内部类的时候,就作为外部类的一个成员属性了,因此可以有四种访问修饰符修饰,这是内部类和外部类的一个区别
- 用来修饰类中成员(变量和方法),被public所修饰的成员可以在任何类中都能被访问到。通过操作该类的对象能随意访问public成员
- 类的继承上的体现,被public所修饰的成员能被所有的子类继承下来
2.protected
- 是受保护的,受到该类所在的包所保护
- 被protected所修饰的成员会被位于同一package中的所有类访问到
- 被protected所修饰的成员也能被该类的所有子类继承下来(注意:这里是指同一个package或者不同的package中的子类都能访问)
3.friendly(默认)
- friendly是友好的,即在成员的前面不写任何的访问修饰符的时候,默认就是友好的。所谓友好的,是对同一package的类友好
- 同一package中的所有类都能访问。被friendly所修饰的成员只能被该类所在同一个package中的子类所继承下来。(也就是说只有在同一个package中的子类才能访问到父类中friendly修饰的成员)
4.private
- private是私有的
- 即只能在当前类中被访问到,它的作用域最小
final关键字
- 被final关键字修饰的类不能被继承
- 被final关键字修饰的类属性和类方法不能被覆盖(重写)
- 对于被final关键字修饰的类属性而言,子类就不能给他重新赋值了,如果重新赋值,会报错
- 被final关键字修饰的变量数据不能被修改
面向对象的特性
- 对象是事物存在的实体
- 面向对象是向现实世界模型的自然延伸
- 在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例
抽象类
- 抽象类是指在普通类的结构里面增加抽象方法的组成部分
- 拥有抽象方法的类就是抽象类,抽象类要使用abstract关键字声明
- 抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修饰
- 抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public
- 抽象类不能直接实例化,需要依靠子类采用向上转型的方式处理
- 抽象类必须有子类,使用extends继承,一个子类只能继承一个抽象类
- 子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法(如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类
接口
- 在JAVA编程语言中是一个抽象类型,是抽象方法的集合
- 接口通常以interface来声明
- 一个类通过继承接口的方式,从而来继承接口的抽象方法
- 如果一个类只由抽象方法和全局常量组成,那么这种情况下不会将其定义为一个抽象类,只会定义为一个接口
- 接口严格的来讲属于一个特殊的类,而这个类里面只有抽象方法和全局常量,就连构造方法也没有
- 接口必须要有子类,但此时一个子类可以使用implements关键字实现多个接口
- 接口的子类(如果不是抽象类),那么必须要覆写接口中的全部抽象方法
- 接口的对象可以利用子类对象的向上转型进行实例化
TCP
- TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,是专门为了在不可靠的网络中提供一个可靠的端对端字节流而设计的,面向字节流
- TCP是面向连接的,可靠性高
- 由于TCP是连接的通信,需要有三次握手、重新确认等连接过程,会有延时,实时性差,同时过程复杂,也使其易于攻击
- TCP在IP协议的基础上添加了序号机制、确认机制、超时重传机制等,保证了传输的可靠性,不会出现丢包或乱序
- 每条TCP连接只能时点到点的
UDP
- UDP(用户数据报协议)是iso参考模型中一种无连接的传输层协议,提供简单不可靠的非连接传输层服务,面向报文
- UDP是基于非连接的,可靠性低
- UDP没有建立连接的过程,因而实时性较强,也稍安全
- UDP支持一对一、一对多、多对一、多对多的交互通信