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关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...
随机推荐
- jquery表格动态增删改及取数据绑定数据完整方案
一 前言 上一篇Jquery遮罩插件,想罩哪就罩哪! 结尾的预告终于来了. 近期参与了一个针对内部员工个人信息收集的系统,其中有一个需求是在填写各个相关信息时,需要能动态的增加行当时公司有自己的解决方 ...
- Java static 静态代码块执行分析
假设有这样一个类: public class Utils { static { Log.i("static","isLoad!"); } public stat ...
- 创建django项目
python /usr/local/lib/python3.4/dist-packages/Django-1.9.10-py3.4.egg/django/bin/django-admin.py sta ...
- Asp.Net MVC<八>:View的呈现
ActionResult 原则上任何类型的响应都可以利用当前的HttpResponse来完成.但是MVC中我们一般将针对请求的响应实现在一个ActionResult对象中. public abstra ...
- VMware安装Centos7,已将该虚拟机配置为使用64为,却无法执行64位操作
在新建虚拟机之后,相信很多人都遇到了这个问题,这个问题的本质就是电脑是否支持虚拟化,虽然不是很清楚这是什么 解决方案就是,重启电脑(这边的电脑不是虚拟机而是主机),进入BIOS界面(不同电脑进入BIO ...
- css-margin与百分数的关系
可以对元素的margin设置百分数,百分数是相对于父元素的width计算,不管是margin-top/margin-bottom还是margin-left/margin-right.(padding同 ...
- [转]eclipse重新编译
Eclipse打开时并不重新生成class文件,这就造成了eclipse找不到需要的class文件从而不能正常编译工程中的其他代码.此时就需要重新编译工程. 单击Project菜单,选择Clean菜单 ...
- centos 7 安装 python-dev包提示No package python-dev available
centos安装 python-dev包提示No package python-dev available: 出现此问题的原因是python-dev的包在centos的yum中不叫python-dev ...
- BZOJ2510: 弱题
求k时刻一个标号转移到各位置的概率,最后枚举每个标号加权求期望.可以发现转移矩阵是循环矩阵,因此乘法是n^2的.另外这个乘法是圆周卷积的形式,然后就作死写了发fft,发现精度升天了= = #inclu ...
- xpth 字符串截取
<xsl:value-of select="substring(//div[@class='infos'],1,27)"/>