JavaOOP知识点

本文介绍了面向对象编程的核心概念,包括Java中的封装,展示了如何通过get/set方法保护成员变量,并提供了有参和无参构造器的示例。此外,还讨论了重写的重要性和规则。在网络编程部分,概述了网络模型的七层结构,IP地址的分类,以及特殊IP地址的作用。最后提到了TCP和UDP的区别,强调了它们在传输数据时的可靠性与效率差异。
摘要由CSDN通过智能技术生成

一、对象和封装

1.面向对象开发的好处

交流更加流畅

提高设计和开发的效率

    String name;
    int age;
//提供get set方法 快捷键Alt+insert 无参构造
    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void setName(String name) {
        this.name = name;
    }
    public void print() {
        System.out.println("名字:"+name +"\t"+ "年龄:"+age +"\t");
    }

    public static void main(String[] args) {
        Person person =new Person();
        person.age=20;
        person.name="小明";
        person.print();
    }
//有参构造  
public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
 Person person =new Person("小行",35);

2.封装

封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

封装的好处:1.只能通过规定方法访问数据 

                        2.隐藏类的实现细节

                        3.方便加入控制语句

                        4.方便修改

super注意点:

1.super调用父类的构造方法,必须在构造方法的第一个

2.super必须只能出现在子类的方法或者构造方法中

3.super和this不能同时调用构造方法

Vs this:

        代表对象不同:

               this:本身调用者这个对象

                super:代表父类对象的应用

        前提         

                this:没有继承也可以使用

                super:只能在继承条件才可以使用

        构造方法

                this();本类的构造

                super();父类的构造

重写:需要有继承关系,子类重写父类的方法

        1.方法名必须相同

        2.参数列表必须相同

        3.修饰符:范围可以扩大但不能缩小

        4.抛出异常:范围可以被缩小但是不能被扩大

重写:子类的方法和父类要一致:方法体不同

为什么要重写:

        1.父类的功能子类不一定需要,或者不满足

        Alt+Insert:   override;

序列化流

对象序列化:是将对象状态转换为可保持或传输的过程。一般的格式是与平台无关的二进制流,可以将这种二进制流持久保存在磁盘上,也可以通过网络将这种二进制流传输到另一个网络结点。

对象反序列化:是指把这种二进制流数据还原成对象。

Serializable标识接口,告诉JVM要进行序列化。

serialVersionUID:Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的,在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。

 网络编程

网络模型7层概述:

1.物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。

2. 数据链路层:主要将从物理层接收的数据进行MAC地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机,数据通过交换机来传输。

3. 网络层:主要将从下层接收到的数据进行IP地址(例192.168.0.1)的封装与解封装。在这一层工作的设备是路由器,常把这一层的数据叫做数据包。

4. 传输层:定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段(TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”)。

5.会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)

6.表示层:主要是进行对接收的数据进行解释、加密与解密、压缩与解压缩等(也就是把计算机能够识别的东西转换成人能够能识别的东西(如图片、声音等)。

7.应用层: 主要是一些终端的应用,比如说FTP(各种文件下载),WEB(IE浏览),QQ之类的(可以把它理解成我们在电脑屏幕上可以看到的东西.就是终端应用)。

IP地址

A:所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是“00001010000000000000000000000001”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”IP地址的这种表示法叫做“点分十进制表示法”,这显然比10容易记忆得多。

B:IP地址的组成

IP地址 = 网络号码+主机地址

AIP地址:第一段号码为网络号码,剩下的三段号码为本地计算机的号码

BIP地址:前二段号码为网络号码,剩下的二段号码为本地计算机的号码

CIP地址:前三段号码为网络号码,剩下的一段号码为本地计算机的号码

特殊地址:

127.0.0.1 回环地址,可用于测试本机的网络是否有问题. ping 127.0.0.1  

DOS命令 ipconfig:查看本机IP地址

xxx.xxx.xxx.0 网络地址

xxx.xxx.xxx.255 广播地址

A类  1.0.0.1---127.255.255.254  (1)10.X.X.X是私有地址(私有地址就是在互联网上不使用,而被用在局域网络中的地址)  (2)127.X.X.X是保留地址,用做循环测试用的。

B类  128.0.0.1---191.255.255.254  172.16.0.0---172.31.255.255是私有地址。169.254.X.X是保留地址。

C类  192.0.0.1---223.255.255.254  192.168.X.X是私有地址

D类  224.0.0.1---239.255.255.254  

E类  240.0.0.1---247.255.255.254

逻辑端口

有效端口:0~65535,其中0~1024系统使用或保留端口。

TCP和UDP

UDP

  将数据源和目的封装成数据包中,不需要建立连接每个数据报的大小在限制在64k因无连接,是不可靠协议不需要建立连接,速度快

TCP

  建立连接,形成传输数据的通道在连接中进行大数据量传输通过三次握手完成连接,是可靠协议必须建立连接,效率会稍低

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值