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(): 比较存储在两个字符串对象中的内容是否一致
JAVA学习笔记之与C#对比的更多相关文章
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 20145231第二周Java学习笔记
20145231 <Java程序设计>第2周学习总结 教材学习内容总结 本周的学习采用的依然是先看课本,再看视频,然后实践敲代码,最后根据学习笔记总结完成博客. 第三章:基础语法 知识点比 ...
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 0025 Java学习笔记-面向对象-final修饰符、不可变类
final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...
随机推荐
- 基于Nginx dyups模块的站点动态上下线并实现简单服务治理
简介 今天主要讨论一下,对于分布式服务,站点如何平滑的上下线问题. 分布式服务 在分布式服务下,我们会用nginx做负载均衡, 业务站点访问某服务站点的时候, 统一走nginx, 然后nginx根据一 ...
- mariadb
MariaDB数据库管理系统是MySQL的一个分支
- 85 megacli-查看raid信息
文章本身我不做过多修改了,在这里我就把自己在安装时候碰到的难点跟大家提下.1.何处下载?首先,根据文章中的路径已经下载不到相应的文件了,在此我们就自己到http://www.lsi.com的网站上去搜 ...
- APP
第一天 1.环境初步搭建 SmartSniff fiddler ddms AntiDroid Android Killer 百度方法 http://jingyan.baidu.com/article/ ...
- SharePoint下载服务器资源
使用IE浏览器
- Android开发环境的演变
之前安装过eclipse,给我的感觉是,好生麻烦.刚开始自己装花了好多时间.隐约还记得有两个小tips: 1)打开时出现 “failed to load the JNI shared library ...
- JavaMeloay配置用于系统监控
JavaMelody JavaMelody能够监控Java或Java EE应用程序服务器的运行状况,并以图标的方式显示:java内存.CPU使用情况.用户Session数量.JDBC连接数.http请 ...
- input-placeholder
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #f00; } ::-moz-placeholder { /* Mozilla Fir ...
- 如何查看Maven项目中的jar包依赖树情况
对于开发人员,我想大家对于Maven应该不会陌生吧,如何在一个Maven项目中对这个项目中所引用的第三方jar包有个直观的了解呢? 其实实现很简单,只需要借助于Maven的一条命令,如下所示: mvn ...
- BZOJ4416: [Shoi2013]阶乘字符串
可以大胆猜想n>21时无解,至于依据,不开O2,1s,n<=21刚好能卡过去= = 并不会证= = #include<cstdio> void up(int& a,in ...