美文网首页
2017-05-11 回归小白,从头修炼

2017-05-11 回归小白,从头修炼

作者: 带着菜刀码代码 | 来源:发表于2017-05-11 00:50 被阅读0次

最近因为项目的原因,比较心烦意燥,索性把 Java 从头开始理一遍,期间发现很多新的东西,受益匪浅,自己修行还差得远。

                                                                                                                                                                               ----写在前面的跟题记差不多的东西


1.多态

  多态分为两种,即:

              1.编译时多态,从JVM的角度来讲,静态分派;即重载

              2.运行时多态,从JVM的角度来讲,动态分派;即重写

   重载:相同方法名,不同参数。在代码中,同一个类名下,可以编写多个同名,入参不同(这点是必须项),返回值可以不同的方法

在调用时,根据入参调用不同的方法。

    重写:一般是伴随着继承,由子类继承父类,并重新定义父类中的方法。

            注意两点:我们有一个父类Father,有一个子类Children 

              1.向上转型是自动的;Father f = new Children()

              2.向下转型需要强转;Children c = (Children)new Father()


2.final关键字

一般面试都很容易问到,很好答,但是想得高分也很考验基础,我查看了很多资料,学习并记录如下。

1 .被final修饰的类不可以被继承

2. 被final修饰的方法不可以被重写

3. 被final修饰的变量不可以被改变

这里特别注意下第三点,被final修饰的变量不可变,指的是变量的引用不可变,即指向变量的地址不可变,而

变量的内容是可以改变的。


3.static关键字

1. static静态变量    2. static静态方法  3. static静态代码块  4. static静态内部类  5. import static

① 。根据JVM的类加载机制,静态资源是在类初始化时加载,并且只加载一次,类初始化优先于类的new,可以看出静态变量是在类new之前就已经

加载的,静态资源的加载顺序优先于非静态资源,所以我们可以很容易知道,静态资源不可以引用非静态资源,静态资源可以引用静态资源,非

静态资源可以引用静态资源。

②。由①可知,静态代码块也是在类初始化时就已经加载了的,也只加载一次。注意几点:

          1. 多个静态资源的加载顺序是严格按照静态资源的定义顺序来加载的。(语句在源文件中的出现顺序);

          2 .静态代码块对于定义在它之后的静态变量,可以赋值,但是不能访问;

          3. 静态代码块是严格按照父类静态代码块->子类静态代码块的顺序加载的,且只加载一次;

③关于import static

     贴两段代码 :

import  static  java.lang.Math.*;

public  class  A{

     public   static   void   main(String[] args){

             System.out.println(sin(2.2));

     }

}

引入Math包下的所有静态资源,用到其中某个方法时,可直接写方法名使用,例如sin;

import static java.lang.Math.sin;

public  class A{

    public    static    void   main(String[] args){

                 System.out.println(sin(2.2));

    }

}

引入Math包下的某个具体静态资源,可直接写方法名使用,例如sin;


                                                                                                              以上所得均来自博客   www.cnblogs.com/xrq730/

相关文章

网友评论

      本文标题:2017-05-11 回归小白,从头修炼

      本文链接:https://www.haomeiwen.com/subject/jgyntxtx.html