`
ldzyz007
  • 浏览: 712562 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java困惑

    博客分类:
  • java
阅读更多
一,重复的类型申明

User user=new User();

说明:Java是静态语言,为了这一点,声明变量的时候必须明确告诉编译器该变量的类型。Java编译器就不能智能点吗?

二,临时变量

       int total=0;

       for(int i=0;i<10;i++)

       {

           total+=i;

       }

说明:total和i变量,造成局部代码臃肿,代码有更多的状态,多线程控制非常困难。

三,static对面向对象的冲击

      public class Person {

          public static int total=0;

      }

说明:static把不属于对象模板的东西硬生生的塞进去,使得模板不伦不类。

四,不支持高阶函数和闭包

     public void loan(operate)

    {

       BufferedReader in = null;

        try{

           in=new BufferedReader(new FileReader(filename));

           operate

        }catch(Exception e)

        {

            e.printStackTrace();

        }finally{

            in.close();

        }

    }

说明:不能以函数作为参数,使得Java处理上面类似的需求时,最优雅的实现就是:先申明一个接口,写多个类实现这个接口中的方法,然后把这个接口作为这个函数的参数。结果便是,类的数量迅速增加,类也变成了只是一个方法的包装器!

五,switch只支持int和enum类型

   switch(name){//java不支持这样写

      case "zhangshan":...

      case "lisi":...

      case "wangwu":...

      default:...

    }

说明:相信有很多Java程序员质疑,Java的switch为什么只支持int和enum类型?

六,synchronized泛滥

    public synchronized void  getResouce()

    {

        ...

}

说明:Java编程中最难的要数多线程编程,synchronized是很多程序员迈不过的槛!

七,转义之痛

    String path="c:\\test\\test.java";

String content="hello ,\"Mr Right\"";

说明:转义,让优秀的程序员也不得不从流畅的编程中停下来,为编译器的无能做低级劳动。

  八,运算符重载

  public class Complex {

    private int real;

    private int imaginary;

    +(Complex complex){

  return new Complex(real+complex.real,

                         imaginary+complex.imaginary);

}

}

说明:运算符重载,多么优美的风景线,Java却无情的拉上了封条。

九,繁琐的多重循环

   for(int i=0;i<n;i++)

    {

        for(int j=0;j<m;j++)

        {

            ...

        }

}

说明:大家也许已经习惯了多重循环,但我们为什么要习惯这种笨拙的实现?

十,多余的字符

   public String getName()

{

  return this.name;

}

说明:()必须吗?String必须吗?return必须吗?.必须吗?;必须吗?
分享到:
评论

相关推荐

    学习Java的困惑,相信你肯定遇到过

    编程中遇到的常见问题,看了肯定有茅塞顿开之感。Java总有你没掌握的内容

    java解惑java解惑java解惑

    Java编程语言是软件开发领域的重要组成部分,尤其在企业级应用中占据着主导地位。..."Java解惑"这本书或者资源可能包含了这些内容的详细解答,通过学习和实践,开发者可以逐步解决遇到的困惑,提升编程技能。

    Java解惑(中文版)_java_java解惑_solve65p_

    《Java解惑(中文版)》是一本专为Java初学者设计的学习资料,旨在帮助读者解答在学习Java过程中遇到的各种困惑。"solve65p"可能代表这本书包含65个问题或主题,每个都深入浅出地进行了讲解,旨在解决初学者在编程...

    JAVA 解惑 java经典

    以上知识点是Java编程中不可或缺的部分,"JAVA解惑.pdf"很可能详细讲解了这些内容,为读者提供了一条清晰的学习路径,以解答他们在学习过程中遇到的困惑。通过深入学习这些内容,开发者可以提升自己的Java技能,更好...

    学习JAVA的步骤 java 学习 步骤

    然而,在Java中有一些关键字的使用可能会让人感到困惑,例如`public`、`protected`、`private`和`static`等。理解这些关键字何时使用、为什么使用以及如何使用是非常重要的。 #### 三、深入面向对象编程特性 面向...

    java入门实例 java入门实例

    错误信息往往令人困惑,导致一些初学者失去学习信心。实际上,很多问题源于对classpath的设置以及对package的理解不足。本文通过实例,帮助初学者解决这些问题。 首先,你需要确保已经下载并安装了JDK 1.5.0,通常...

    Java学习利器-JAVA解惑

    这份名为"JAVA解惑"的PDF文档,可能是由一位经验丰富的Java开发者或者教育者编写的,旨在帮助读者理解并解决Java学习过程中遇到的困惑。它可能包含了各种常见问题的解答,如语法错误、程序逻辑错误、性能优化、内存...

    Javapuzzler+JAVA解惑 中英双语 完整源代码

    《JAVA解惑》则可能是一部针对初学者或中级开发者的学习资料,旨在解答在学习和使用Java过程中遇到的困惑。虽然没有提供具体的作者信息,但可以预期它会涵盖诸如语法难点、面向对象设计、异常处理、集合框架等方面的...

    java面试题解析困惑之二

    在Java编程语言中,字符串(String)是一个非常重要的概念,经常出现在面试题中。本文将深入探讨Java中的字符串类(String)的一些关键知识点。 1. **String类的length()方法** - String类确实提供了`length()`方法,...

    Java解惑.pdf

    这份“Java解惑.pdf”文档很可能包含了解决Java开发者在编程过程中遇到的常见问题和困惑的详细解答。以下是可能涵盖的一些Java相关知识点: 1. **基础语法**:Java的基础语法包括变量、数据类型、运算符、流程控制...

    java开发接口帮助文档

    Java开发接口帮助文档是开发者在进行Java编程时的重要参考资料,它包含了JDK中的类库、接口、类与类之间的继承关系...掌握并善用这份文档,能够提高开发效率,减少编程过程中的困惑,从而提升整个项目的质量和可靠性。

    java基础教程(java SE)

    这个教程附带的学习顺序指南将为你提供清晰的路径,帮助你避免自学过程中的困惑和迷茫。 总之,“Java基础教程(Java SE)”是一个全面的初级入门资料,无论你是0基础还是有一定编程经验,都能从中受益。通过系统...

    Java编程思想让很多新手止步不前,困惑已久的问题由此解开

    本文将深入探讨Java编程思想的关键点,帮助新手们解除困惑,顺利迈入编程的大门。 首先,Java是一种面向对象的编程语言,这与C++或C等早期的编程语言有着显著的区别。面向对象编程(OOP)的核心理念在于通过模拟...

    java面试题解析困惑之一

    Java语言中的`final`、`finally`和`finalize`这三个关键字虽然在拼写上相似,但它们的作用却截然不同。在Java面试中,理解这三个概念的区别是非常基础且重要的。 首先,`final`是一个修饰符,它有以下几个用途: 1...

    IBM公司Java培训pdf

    - **Java API的使用**:Java API的学习是Java开发的一个重要环节,虽然API提供了极大的便利,但其数量庞大,初学者可能会感到困惑。因此,学会如何使用Java API手册是非常重要的,可以通过官方文档或其他在线资源...

    Java解惑 中文版

    通过阅读《Java解惑中文版》,读者不仅可以解答编程中遇到的困惑,还能系统提升自己的Java技术水平,编写出更加健壮、易于维护的程序。无论你是Java新手还是有经验的开发者,这本书都将是你不可或缺的参考资料。

    java学习资料打包下载

    《Java解惑》是一本针对常见Java问题和困惑的解答书籍,可能包含了异常处理、内存管理(如垃圾回收机制)、集合框架、IO流、多线程等方面的解释,帮助开发者解决实际编程中遇到的问题。 《Java线程(Java线程经典...

    0分21天学会java

    《Java解惑》则是一本解决实际编程问题的书籍,它针对初学者在学习过程中可能遇到的困惑进行解答,提供了许多实战案例和常见错误的解决方案。通过阅读这本书,读者可以更好地理解Java中的复杂概念,并提高问题解决...

Global site tag (gtag.js) - Google Analytics