JAVA学习笔记之与C#对比

  

   最近在学习java,刚学完入门课程...下面说一下入门课程中相对印象深刻的知识点

   JAVA-C#差异

   1. for循环

     C#

      string [] strarr=new string[5];

       foreach( string i in strarr)

    java

     String[] strarr=new String[5];

      foreach(String str:strarr)

   2. 继承

      C#  类后使用 : 可直接继承

      java 使用 extends

   3.java中final 关键字  最终的, 可以修饰类  变量 方法 属性

       

      类: final public class xxx 是 类似于 C#中  sealed 密封类,不可以被继承

   

------------------------------------------------------------------分割线------后面继续补充-----------------------------

   方法  :同类类似,使用sealed密封方法

   变量: final=constant 常量  在定义是必须指定值,而且类的构造方法不初始化final 变量,  子类不可修改final 变量。

   4.多态

               自动转换,又下至上,由子往父  例如 动物类A    和继承动物类A的狗类B    类A=狗B

              强制转换类型,由上至下,           例如 动物类A    和继承动物类A的狗类B    狗B=(狗)类A   可能会出现异常,溢出。较危险。

  

   5.Interface   类似抽象类,  关键字 abstract  在定义是与C#一样, 以I 开头.

     在java中创建接口和C#中一样,方法不需要有方法体,需要实现接口的类来override 方法

      创建接口或接口的内部方法时我们可以不加abstract  public interface IPlay{

   }   系统默认会隐士变成  public abstract interface

   6. java中 supper 关键字,类似于C#中的base关键字, 访问父类中的属性和方法.

      而且在默认加载子类时,默认的无参构造参数中会在第一行增加supper()方法来构造父类,隐式添加

      也可以我们自己写,必须加在第一行

   7.java 中instanceof 关键字,用来匹配  当前类型是否为 instanceof 后的类型,返回布尔值.

      1).对象实现一个接口,用这个对象和这个接口进行instanceof判断,都为true。  

      2).对象和父类进行instanceof判断,都为true  

      3).对象和他的子类进行instanceof判断为false  

   8. UML unified modeling language   统一建模语言

     a.常用的UML工具

          Visio , Rational Rose ,Power Design

 

     b.常用UML三种图 

     用例图

           能够以可视化的方式表达系统如何满足所搜集的业务规则.通常是用来描述在系统中出现的角色所具备的功能

     序列图

           描述角色和计算机内存中对象的关系,以什么顺序执行的,更关注序列.

     类图  也叫  类别图

           描述业务逻辑,结构性的信息,描述类和类之间的关系,类中有什么属性和方法.从不同的环节了解系统的功能.

   

    9.“==” 和 equals() 有什么区别呢?

      ==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象

     equals(): 比较存储在两个字符串对象中的内容是否一致

原文地址:https://www.cnblogs.com/mailaidedt/p/4662175.html