Java初识、面向对象、高级知识点

Java软件开发

equals 比较两个数是否相等,判断是true还是false

break  跳转语句

contionue 跳出本次循环执行下次循环

length  数组的长度

Arrarys类

Arrays.sort()类.方法;

第一章、Java-基础

1.  Java是编程语言,按照编译顺序分为:编译型和解释型。

2. Java是编译型的语言,需要先编译再执行。

3. 解释型的语言不需要先编译,直接执行,如:(JavaScript)

4. 计算机语言是唯一能编译成0、1代码并能被计算机所识别的语言。

5. JRE:java runtime environment(Java运行环境),JVM(Java虚拟机 /JavaCPU)依赖于JRE。

6. JDK:Java develop kit(Java开发环境)。

7. .class:字节码文件是能被计算机0、1代码直接识别的文件,Java虚拟机可以直接运行字节码文件。

8. API:application interface(应用程序接口),Java的基础数据类型,对象及类的使用都在JavaAPI中定义。

9. Windows下的环境变量中的配置是可以被Windows下DOS识别并运行的。

10. 编程语言中的命名规范一般采用驼峰规则:单词首字母大写其他单词小写

11. Java中包的使用:可以帮助我们划分不同的功能,把类文件以按照不同的原则归类。包在真正的物理文件中以文件夹的形式所存储。

包的命名规范:一般我们采用官方网站的倒叙作为包的名称。

12. Java中的资源文件中的内容会被编译到bin文件夹下,资源文件中可以存放包和源文件。

第二章、面向对象

13.计算机的CPU核心包含(寄存器、运算器)寄存器是存储数据的,运算器具有读取寄存器的数据并进行运算的能力。

14. 变量的命名规则:

    1.  字、下、美、人、数、骆驼有意义。

    2. 不能使用关键字,如:public、class。

    3.  数字不能放在变量名开始位置。

    4.  所有的运算符(算数、关系、逻辑)不能在变量中出现。

    5.  空格不能出现在变量名中

    6. 使用驼峰命名规则。

    7.  变量不能重名。

15. 常量用来存储客观事物中不能改变的至,一旦定义,无法改变值,是只读的,使用 final 来定义。

16. 所有的编程语言中new操作都是使内存开辟一个新的空间,方便我们后面使用。

17. 小写的数值类型是Java中基本的数据类型,大写的数据类型是Java中的对象,即包装类,他们都可以定义变量,不同的是,包装类是一个对象。

第三章、Java高级API

18.编程习惯规范:

                       1. 所有类所有方法加入注释,注解。

                       2. 所有的类,方法、变量不能用中文。

                       3. 高内聚 低耦合。

                       4. 完成一个功能,要拆分成N个小模块来编写并调试。

                       5. 循环体及悬着分支,我们操作的语句要缩进。

 

19. 字符串使用equals比较的是最终的值。==比较的是内存地址是否执行同一个地方。

            **引用类型在内存没有空间,它只是一个指针**

20. 当循环次数固定的时候,我们用for,当程序中次数不确定的时候用while或者do while。

21. 调试的快捷键为F5、F6、F8

    1. F5:进入到方法体内。

    2. F6:逐条运行。

    3. F8跳到下一个断点处。

22. 软件开发流程

    1.     需求分析——产品经理(UE图)

    2.     UI设计——.png.jpg图片)

    3.     H5——前端开发(HTML页面)

    4.     开发人员——(编写代码,操作数据库等……)

    5.     测试——(对软件进行测试,迭代)

    6.     白盒(代码测试)、黑盒(功能测试)、灰盒测试(功能测试,数据库测试)

    7.     运维——(对项目的部署及维护)

Java-面向对象

1. 方法的作用域

    1.  public:共有的,可以在各个类之间调用

    2.  private:私有的,只能在本类中调用

    3.  protected:受保护的,只能在父类和子类中调用

 

2. 类的作用域

    1.  默认必须是public:公有的

 

3. 方法中参数的使用

    1. 形参和实参类型要一致

    2. 方法中实参和形参的顺序要一致

    3. 结束方法返回值的变量类型要和方法的返回值类型一样

 

4. 构造函数

    1. 构造函数没有返回值

    2. 构造函数的名字和类名一致

    3. 构造函数是在类实例化的时候被调用

 

5. 方法重载

    1. 方法重载必须是方法名相同

    2. 方法重载的签名(传入的参数)可以不同,签名的个数也可以不同

    3. 方法重载返回值类型可以不相同

    4. 返回值类型不相同的情况下签名个数必须不同

 

6. static

    1. 应用于属性,方法及静态代码块上。

    2. static的方法,成员变量,可以直接通过类.名字调用。

    3. static静态代码块被调用后,存储在内存中,其他对象在使用时不会再被调用。

    4. static静态代码块是在类被JVM装载时被调用的。

    5. static的静态属性,一旦被定义可以被多对像来使用。

 

7. Super用法

    1. 子类可以通过super.属性/方法来调用父类属性/方法

    2. 子类可以通过在构造函数中加入super(参数)来向父类的属性传值

    3. 在构造函数中使用super(参数)时,此代码必须放在最前面。

 

8. this

    1. this指向当前的类对象

    2. This.属性/方法,都是指向该类的属性和方法

 

9. 继承

    1. 子类可以直接调用并使用父类的方法

    2. 子类只能继承一个父类(单根继承)

    3. 一个父类可以被多个子类继承

    4. 子类可以重写父类的方法,这个方法属于子类

    5. 父类可以实例化子类,子类不能实例化父类(多态)

    6. 子类如果不想使用父类中的有参构造函数,可以在父类中添加一个无参的构造函数

 

10. 工厂设计模式

  1. 工厂模式的四要素

        1. 定义规范(要使用接口来定义)

        2. 生产产品

        3. 定义工厂

        4. 用户提出需求

 

11. 抽象类

    1. 抽象类中包含抽象方法,子类继承抽象类后,要重写抽象方法

    2. 抽象类不能被实例化

    3. 抽象类前需要使用抽象类及抽象方法使用abstract来定义

    4. 抽象方法必须是public或者protected,否则子类无法继承并重写

 

12. 接口

    1. 接口只有方法头没有方法体

    2. 一个类可以实现多个接口

    3. 接口一旦被实现那么就要实现和这个接口的所有方法

特征

继承

抽象类

接口(定义规范)

属性

子类和父类属性都可以使用。

子类可以通过Super来使用父类的属性

 父类的属性只能通过子类去调用。(因为不能被实例化)

子类的属性可以直接使用。

 一般不设定属性。

方法

子类可以使用父类的方法,也可以使用自己的方法,或者重写父类的方法

抽象父类可以抽象方法也可以普通方法。

子类必须实现父类的抽象方法,子类可以定自己的方法。

接口只有方法头,没有方法体,子类实现接口就一定要实现所有的方法。

继承和抽象类都叫继承---值是抽象类只有抽象方法没有抽象方法体。

 

13. 接口和继承使用原则

    1. 继承:如果能够明确的知道,对象有哪些属性、方法且后期不再扩展

    2. 接口:当对象有一定规范要求,那么我们必须使用接口

    3. 接口和继承可以一起使用,前提要满足以上两条

 

14. 异常处理

    1.  Exception

        1. 这个类是所有异常的父类

        2. 所有的异常信息都可以使用这个类抓取

    2. catch

        1. catch可以捕获多种异常信息,一个Try可以添加多个catch

        2. 如果catch捕获到子类异常信息,就不再执行父类异常信息了

    3.  Finally

        1. 无论程序有没有异常,在程序运行后都会执行这里的代码

        2. 一个代码块只允许有一个finally

        3. finally不执行的唯一条件,前面的代码块执行了System.exut(1)

    4. throws

        1. throws加载被调用的方法上

        2. 调用方法时,如果方法是有throws,我们就可以知道,这个被调用的方法可能会出现异常

        3. throws是一个标志(标志着方法可能有异常)

 

Java-API高级编程

1.集合框架:

              集合框架有数组的特性。

              集合框架是变长的。

              集合框架中的对象,都封装了自己的属性和方法,方便我们应用。

              集合框架的父类Collection。  k来k身

2.set:

         set中remover或者removeall,是根据对象去删除,如没有这个对象,不能做删除操作。

         set可以通过for或者迭代器读取数据。

         set是变长,唯一的,无序的存储。

3.Map:

           Map是变长,唯一的,无序的存储。

           Map可以循环所有的Key,可以循环所有的Value,或者通过虚幻Key,查找Value。

           Map可以通过removerKet的方式  删除一天数据。

           Map可以通过重新为Key复制修改一条数据。

Map和List的区别?

       Map以键值对的形式存储数据,Key的键是不能重复的。

 

4.泛型集合:

             泛型集合拥有集合框架的特点,下标从0开始,变长。

             泛型集合一但定义类型,那么必须存储该类型。

泛型类的定义:

              public class 类名<类型参数1,类型参数2>

              {

                     泛型方法

                     public <参数类型> 参数类型()

               }

                实例化

                类名<类型参数1,类型参数2>  对象 = new 类名<类型参数1,类型参数2>();

泛型的应用:

             泛型可以应用在类,属性,方法上。

             任意的类型我们可以通过任意的字母来定义。

             泛型类一旦被实例化,那么属性和方法的类型即也确定。

泛型:

        定义一个方法,任何实参都可以传入,任何结果都可以返回。

        泛型是数据类型的占位符,减少大量强制转换编码的编写。

5.枚举:

        枚举是一组固定的常量组成的类型使用enum定义,枚举是引用类型。

        枚举必须在1.5以上版本编译。

6.包装类:

            java中的基本数据类型不是一个对象。所有我们使用包装类来对基本数据类型进行封装,包装类可以被实例化。

集合框架:在使用泛型的时候,只能使用包装类。

            Boolean:实例化构造函数传入的是true或者字符true,该对象为true否则都为false。

            Number:实例化构造函数传入字符要符合该类型的规范。

7.随机数的使用

             Math.random()  随机生成一个[0-1)的数字。

             Random   包装类

             Random   a  = new Random(种子)   如果种子一样,生成的数一样

             a.nextInt(10)   最大生成的数为10。

8.String,Stringbuffer,Stringbuilder区别于联系?

            String+=的时候会转成StringBuffer对象在append追加一个字符串。

            String builder是单线程,不能同步执行,效率高,但是不安全。

            String Buffer是多线程的处理,效率不高,但是安全。

9.Java中的日期类型

            需要使用SimpleDateFormat对当前的日期对象进行格式化处理。

            需要使用Calendar获取当前的年,月,日,时,分,秒。

10.绝对路径:

             通过具体的盘符执行某一个文件或者目录,我们叫它绝对路径。

     相对路径:

            通过/目录或者../等字符来确定文件或者文件夹的目录,我们叫它相对路径。

            /当前文件的物理路径。

           ../房前路径的上一级物理路径。

     递归:方法调用方法本身叫递归。

      菲波那契数列。

11.文件夹操作

            Mkdir   创建一级文件夹

            Mkdirs  创建层级文件夹

            读取文件夹下多有文件使用递归算法。

13.I/O流

            按照方法划分

            InputStream  输入流  从磁盘上把数据读取到内存中。

            outputStream  输出流  把内存中的数据写入到磁盘上。

14.计算机中编码

            UTF-8    国际统一编码

            GBK      中国中文编码

            ISO-8859-1    ISO组织统一编码

            Uincode   是UTF编码的基础

            Ascii      字节编码格式

15.装箱

             把基本的数据类型转成对象。(把int转成Object,把string转成Object)

    拆箱

             把对象转成基本的数据类型。(把Object转成int,把Object转成string)

    序列化

             Java对象转成二进制流。   Java对象需要实现Serializable接口,才可以实现序列化

   反序列化

             把二进制流转成Java对象。

16.反射是在程序运行时加载对象,代码中并不确定是那个对象,一般在框架的搭建及动态获取类及类的属性上使用。

            第一个特点:动态获取类,运行时加载。

            第二个特点:动态获取类中的方法及属性,并赋值,取值。

17.注解:(内建注解,元注解,自定义注解)

             内建注解:

                          1.@override(重写父类的方法)。

                          2.SuppressWarnings(value="all")。过期后依然可以继续使用

                          3.Deprecated:标识元素已经过期。

              元注解:元注解是自定义注解的基础

                          1.@target 指向使用那些元素     @Target(ElementType.FIELD)   //应用成员变量    

                          2.@retention 表示被其修饰的注解是否在编译器中丢弃或者保留在。class文件中。

                          3.@DoncumentED 被注解的对象是否被提取成文档

                             需要使用@interface 关键字来定义。

             读取注解:

                          Getannatation()直接获取元素上的注解。

                          Getannatauons()获取所有的注解。

                           isAnnotationPresent()判断注解的具体类型。

18.线程是计算机被调度的最小单位。

             进程包含多个线程,有独立的内存空间和系统资源,每一个应用程序都有一个进程

             使用setPriority关键字改变线程优先级值是一个理论上的使用。

             线程中run启动的是主线程,Start启动的是子线程。

19.stnchronized 可以解决多个线程同步获取某一个代码块的问题。但是只局限于单体式架构,不适用于分布式架构。如果分布式架构,可以采用redis分布式锁等技术。

20.计算机按照网络规范划分(局域网,广域网)。

21.IP地址是由一个32位的二进制数字组成,为了方便记忆使用:127.0.0.1。

             127.0.0.1  本机的IP地址。

             255.255.255.255  子网掩码。划分网络地址用的。

              网关:是网络的唯一出口地址。

              DNS:域名解析系统。

              端口:一个IP地址会有多个端口。端口的数量0-65535,可以通过【IP地址:端口号】,来访问我们计算机

22.服务器的类别

               java:Tomcat,apche,Nginx'。

               windows:iis

23.网络七层协议

               物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

     网络四层协议

                物理层,网络层,传输层,应用层。(TCP/ip)协议。

24.网络长连接,心跳,三次握手。

                 java中可以使用socket来实现,tcp下的socket比较稳定不会丢包,udp下的Socket不稳定会丢包。

25.java引用jar的方式

                 1.添加绝对路径下的JAR包。缺点项目考走后,jar包不一定存在。

                 2.在项目下新建文件夹,然后引用相对路径下的JAR包,jar跟随项目一起考走。

                 3.创建userlibrary,这种方式对jar包进行分组操作。

                 4.javaweb中可以直接拷贝到web-info下的lib下,系统会自动构建jar包。

26.junit  注解的使用

      @Text 表名该方法为测试方法,不能有返回类型。

      @before 在测试方法执行前执行。@after 之后

      @beforeClass 在测试类被加载前调用。@afterbefore 之后。

27.一个Byte占半个中文,一个字母或数字。

      1G=1024M

      1M=1024KB

      1KB=1024B

28.HTTP存储/传输数据的方式

      XML(存储并传输,存储数据真有硬盘空间,存储范围有限,存储量小)

      1.Xml文档必须成对出现。

      2.必须定义文件头。

      3.XML文档元素有属性。

      4.xml中的元素可以有上下级关系

      5.xml中命名空间的作用是为了区别多个文档中相同的元素。

      6.xml的组成可以是BOM(浏览器)/DOM(文档)

      JSON(传输数据,格式清晰,传输流较小,不占用服务器资源)

      数据库(存储数据)DBMS

posted @ 2022-01-04 13:42  王亮亮-Starlet  阅读(86)  评论(0)    收藏  举报