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

最近因为项目的原因,比较心烦意燥,索性把 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/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,759评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,141评论 0 62
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,360评论 11 349
  • 转自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帅199207阅读 8,592评论 3 93