zoukankan      html  css  js  c++  java
  • Java语法知识点

    特殊字符
      
       换行符
      	   制表符
    8个基本数据类型
      byte   字节型   1
      short   短整型    2
      int  整型   4
      long  长整型    8
      char  字符型   2
      boolean    布尔型   1
      float   浮点型   4
      double  双精度浮点型  8
      自动转换  long  a = 100;      100(int)  ----  long
      强制转换   int i = 10;
        byte b = (byte)i;
      强制转换可能会丢失数据。
     引用类型(String  数组  。。。对象)
    三目运算
      int a = 5>4?10:100;//a=10
            表达式?值1:值2
      表达式为true  取值1否则取值2

    If

    if的 {} 可以省略,如果省略 ,if下的第一句是属于if
    建议不省略
      if(条件){
         //代码块
      }
     条件结果必须是boolean结果
     结果为true,则执行代码块
    注意:js中if的条件  非数字0即真

    5. Switch

       Switch表达式的类型?

         char int short bety

         breakswitch的用法 case 后面

       default 的位置?是否可以省略 任何位置可以都可以?

        可以

          case 是否可以相同?

         不能

       switchif的使用场合(区别)?

        break:用在switch:跳出switch,防止穿透

          用在循环:跳出当前循环

        continue结束本次循环,进入下一次循环

        return语句:return语句执行后,该方法后面的代码都不会再执行。

    6. while 与 do while

      while:先判断条件再执行。

      do-while:先执行一次在判断。

      声明一下没有while-do这个语法!!!

    7. 代码调试

      打断点  :断点位置是即将要执行的代码。

      F6  :单步执行

    8. 内存

      分堆和栈

    9. 类和对象

      一. 类即分类,抽象的,一种定义

      二. 对象是客观存在的,占据空间的

      类是一群具有相同特征(属性)和行为(方法)的抽象定义

      对象是类的具体化(实例化new xxx)

    10. 命名法

      1. 帕斯卡命名法,每个单词首字母大写,java一般应用在类名
        如: GirlFriend, MyHomeWorld, YourName ...

      2. 驼峰命名法,第一个单词首字母小写,后面单词每个首字母大写
        如: girlFriend, myHomeWorld, yourName

        java一般应用在属性和方法上

      3. 匈牙利命名法,每个字母都大写,单词与单词之间使用下划线隔开
        如:GIRL_FRIEND, MY_HOME_WORLD, YOUR_NAME。

      java一般用在静态常量上,其他更多应用在数据库字段上。

    11.成员变量和局部变量

      实例方法:属于对象的方法

        不用static修饰,通过对象名.方法名()调用

      类方法 :属于类的方法

        用 static修饰(也叫静态方法),可以直接通过类名.方法名() 调用,也可以

        通过对象名.方法名() 调用

        static : 静态的,在加载类时会加载

      修饰成员(成员变量,成员方法)

      修饰方法,该方法是静态方法(类方法) ,可以直接通过类名调用

      静态方法里不能使用非静态变量、

      修饰变量,该变量是静态的,所有对象共享(该变量只有一份)

      成员变量和局部变量重名时,优先使用局部变量

      成员变量有默认值,局部变量没有默认值,局部变量使用前必须赋初始值

      成员变量的作用域:在整个类中有效

      局部变量作用域:只在定义该变量的{}内有效。

    12. super的用法:

      (1super.属性   访问父类的属性

      (2super.方法(..)  调用父类的方法

      (3super(…)   调用父类的构造方法

       在子类构造中用super(..)调用父类的构造,super(..)必须放在第一句,所以,this(..)super(..)不能在同一个构造中出现。

       在子类的构造中的第一句默认有个隐式的super(),表示调用父类的无参构造,所以在new子类对象时,会先执行父类的构造。

       当父类没有无参构造时,子类必须添加构造,并且在构造的第一句调用父类的有参构造。

    13. 继承:   extends(关键字)

      子类继承父类的属性和方法

      一个类只能继承一个父类(单继承)

      子类不能继承父类私有的成员

      子类不能继承父类的构造

       子类与父类不在同包,使用默认访问权限的成员也不能被继承

    14. 访问控制修饰符:

     

    本类

    同包其他类

    子孙类

    跨包

    Public(公共的)

    Protected(受保护的)

    X

    默认的(friendly

    同包子孙类可访问

    X

    Private私有的

    X

    X

    X

     

     

        继承的好处

        提高代码的复用性

        为多态提供基础

    15. 重写(覆盖)

      当父类的方法满足不了子类需求时,子类会重新写一个与父类方法名,参数列表一样的方法。

      重写的具体规则:

      方法名一样,参数列表一样,返回值类型一样(子类方法的返回类型可以是父类方法返回类型的子类),修饰符不比父类的修饰符严格(抛出的异常不比父类的大)

     

     

    16. final的用法

     

      修饰类   不可被继承
      修饰方法  不可被重写
      修饰变量   该变量是常量,不可改变
      Final 修饰引用类型时,不能改变地址,但是可以改变地址上的内容
      final  A a = new A();  
        a = new A(); //  XXX 
        a.num = 1000;//√√√

    17. 抽象类,抽象方法

     当某个方法的方法体不清楚时,干脆把该方法的方法体删掉,加上abstract关键字修饰,该方法是一个抽象方法。该方法所在的类应该定义成抽象类。
     当普通类继承抽象类时,普通类必须重写抽象类里的抽象方法。
      抽象类不能实例化(不能new 对象)
      抽象类有构造方法
      抽象类有普通的成员变量
      抽象类中可以有普通方法和抽象方法。

    18. 多态

    一种事物的多种表现形态。
    狗可以叫做动物:
      Animal ani = new  Dog();//父类引用指向子类对象
      ani是一个引用(地址) ,引用是父类类型
      new  Dog()  new的是子类的对象
    狗也可以叫做狗:
      Dog  dog = new Dog()
    多态时
      普通成员变量:  编译期和运行期都看=左边的引用是什么类型
      左边的引用如果是父类类型,所访问的变量是父类的
      左边的引用如果是子类类型,所访问的变量是子类的
      普通成员方法: 运行期看=右边new的是什么类型的对象
      如果new的是哪个类的对象,调用的就是哪个类的方法
         编译期看左边。
    静态方法:编译期运行期都看=左边
      左边是什么类型,调用的就是该类的方法。
    静态成员变量:编译期和运行期都看=左边
    

      

    19. 转型:

    Dog dog1 = (Dog)pet;//向下转型(将父类引用转化为子类的引用)
            //编译正确,执行抛出异常ClassCastException
           // Penguin penguin = (Penguin)pet;//
            //编译正确,执行抛出异常ClassCastException
            Fa fa = new Fa();
            Son son = (Son)fa;
    多态的好处:
    提高程序的扩展性,可维护性。
    多态的表现形式:
    父类引用指向子类对象,重写,重载,可变长参数的方法
    public void show(Object... nums){
            for (Object num : nums) {
                System.out.println(num);
            }
    }
    Object:所有类的根类,所有的类直接或间接继承Object类

    20. 接口

    接口:特殊的抽象类,也可理解为一种能力,一种规范(约束)
    一种规范(约束):约束所有的实现类都必须实现接口中的抽象方法
    一种能力:想要具备某种能力,只要实现有该能力的接口。
    /**
     * 接口中的变量都是静态常量
     *     在接口中定义一个变量,默认会加上public final static
     * 接口中的方法都是抽象方法(jdk1.8之前)
     *     定义的方法默认会加上public abstract
     *   类和类可以是继承extends关系,单继承
     *   类和接口  是类 实现implements接口,可多实现
     *   接口和接口  接口继承接口,并且可以多继承接口。
     *
     *   普通类实现接口必须实现接口中的所有抽象方法
     *     抽象类实现接口可以不用实现接口中的方法
     *
     * jdk1.8及以上
     *  接口中可以有static 或default修饰的普通方法
     */

     

  • 相关阅读:
    14款响应式布局的前端开发框架
    如何在本地进行微信公众号的开发调试
    微信公众帐号应用开发—本地调试
    利用H5开发微信公众号
    微信公众平台开发入门教程
    JAVA编程不得不看的几本经典书籍
    使用百度UMeditor富文本编辑器,修改自定义图片上传,修改源码
    网站建设需要哪些程序
    Visual Studio 2013 中使用断点
    Objective-c 实例变量的访问级别
  • 原文地址:https://www.cnblogs.com/lin02/p/10949753.html
Copyright © 2011-2022 走看看