`
javatoyou
  • 浏览: 1016402 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
Java的接口和C#一样,是interface关键字,但可以包含的成员不同 C# 的接口只能包含方法签名,Java的接口确可以包含属性(必须是常量),还可以在接口中定义内部接口 packagetest; publicinterfaceA{
之所以单独把这个关键字拿出来说是因为C#没有这个关键字,但C#却有与之不同场景下对应的不同关键字 final 所修饰的不管是类,变量,还是方法,都是赋初值后不允许再修改的.而C#要达到同样目的话,需要用不同的关键字 下面是一个比较 类: Java
下面的代码是使用Java实现设计模式中的单例模式 public class Singleton { //使用一个变量来缓存曾经创建的实例 private static Singleton instance; //将构造器使用private修饰,隐藏该构造器 private Singleton(){} //提供一个静态方法,用于返回Singleton实例 //该方法可以加入自定义的控制,保证只产生一个Singleton对象 public static Singleton getInstance() { //如果instance为null,表明还不曾创建Singleton对象 ...
C#里面也有个ToString,注意大小写的不同 Java的toString的和C#的ToString完全不是同一概念,首先toString是一个"自我描述"的方法,然后它可以被重写 public class Person { private String name; public Person(String name) { this.name = name; } public void info() { System.out.println("此人名为: " + name); } } public class PrintOb ...
初始化块是什么?在Java中就是在构造器之前执行的一段代码,它的用处是,如果一段初始化处理代码对所有对象完全相同,且无须接受任何参数,就可以把这段提取到初始化块中.在C#中,没有初始化块 public class Person { //定义一个初始化块 { int a = 6; //在初始化块中 if (a >4) { System.out.println("Person 初始化块:局部变量a的值大于4"); } } //定义第二个初始化块 { System.out.println("Person的第二个初始化块&q ...
if(objPri instanceof String) { String str = (String)objPri; }Java中的instanceof 运算符相当于C#中的is,都是判断一个对象是否是某个类型 If(objB is typeA) {   objA = (typeA)objB; }
在Java的继承关键字是extends,而C#是一个冒点: 他们子类调用父类的关键字也不同,Java 子类调父类方法是''super.父类方法名称'',C#是''base.父类方法名称'' public void callOverrideMethod() { //在子类中通过super 显式调用父类被覆盖的实例方法 super.fly(); }public void callOverrideMethod() { //在子类中通过base 显式调用父类被覆盖的实例方法 base.fly(); }
在Java中在构造器中调用另一个构造器,和C#的写法有又那么一点点的不同 public class Apple { public String name; public String color; public String weight; public Apple() {} //两个参数构造器 public Apple(String name,String color,double weight) public static void main(String[] args) { //通过this调用另一个重载的构造器的初始代码 this(name,color); ...
Java包的概念跟C#命名空间没什么区别,只是换个名称,语法还是有那么一点不同 下面是定义一个叫lee的包 package lee; public Class Test ...... 包的下面还可以定义子包 Package lee.sub 这跟C#也是一样 引用一个包的时候跟C#也不一样 Java可以引用一个包里面的某个类,这种只引用一个包下的某个类的用法,在C#里没有,只能直接引用整个命名空间 import package.subpackage...ClassName; 如果引用包下的所有类 import package.subpackage...* 如 import java.util.* ...
Java中如果在定义方法时,在最后一个形参的类型后增加三点(...),表明形参可以接受多个参数值,多个参数值被当成数组传入 public class Varargs { //定义了形参长度可变的方法 public static void test(int a, String... Books) { //books被当成数组处理 for(String tmp : Books) { System.out.println(tmp); } System.out.println(a); } public static void main(String[] args) ...
在Java 中方法参数只有值传递,没有引用传递,像C#中 method(ref value....) 这种传引用参数的做法是不被支持的 public class StringTest { public int i=1; public StringTest(int i){ this.i=i; } public static void st(int in,StringTest st1,StringTest st2){ in=1; st1.i=10; st2=st1; ...
public class ReturnThis { public int age; public ReturnThis grow() { age++; //return this,返回调用该方法的对象 return this; } public static void main(String[] args) { ReturnThis rt = new ReturnThis(); //可以连续调用同一个方法 rt.grow() .grow() .grow(); System.out.println("rt的age属性值是:&qu ...
DateTime time = DateTime.Now; string s = time.ToString("yyyy.MM.dd hh:mm:ss t\\M"); Console.WriteLine(s); Explanation:tgives the first character of the AM/PM designator (the localized designator can be retrieved inDateTimeFormatInfo.AMDesignatorand
从JDK1.5开始,加入了foreach,Java中的foreach与c#中的略有不同 public class TestForEachError { public static void main(String[] args) { String[] books = {"J2EE","Struts2","Ajax"} for (String book : books) { System.out.println(book); ...
public class TestBreak2 { public static void main(String[] args) { //外层循环,outer作为标识符 outer: for (int i=0;i<5;i++) { for (int j=0;j<3;j++) { if(j==1) { //跳 ...
Global site tag (gtag.js) - Google Analytics