Java 和C# 不同的地方

         Java 和C# 都是面向对象语言,他们都能够实现面向对象思想.他们都有继承,接口,封装,重写.当时在继承,接口,重写方面还是有不同的.

一.继承

继承 :一个对象直接使用另一对象的属性和方法。

我们来看一张继承的UML图:

Java 和C# 不同的地方_第1张图片

抽象类为:

class Animal 
{
	protected string name="";
	
	public Animal(string name)
	{
	 	this.name=name;
	}
	public Animal()
	{
		this name="wawa";
	}
	protected int shoutNum=3;
	pubic int ShoutNum
	{
		get {
			return shoutNum;
		}
		set
		{
			shoutNum=value;
		}
	}
}

C# 继承:

Java 和C# 不同的地方_第2张图片

java 继承:

Java 和C# 不同的地方_第3张图片


总结:在设计模式中曾提到过:能使用组合就尽量不要使用继承.但是有的时候还是需要使用继承,继承可以简化对事物的描述,提高重用性,是多态的基础.在C# 中用 : 来实现继承,在 java 中用关键字extends 来实现继承!


二.接口

类图:


c#:
Java 和C# 不同的地方_第4张图片

java:
Java 和C# 不同的地方_第5张图片
总结:在编程中,使用接口就是为了提高代码的复用性.在C# 中使用  :  来实现接口,而在Java 中使用 implements 关键字来实现接口.

三.重写

我们通过例子来看看:

c#:

Java 和C# 不同的地方_第6张图片

java:


总结:方法的重写是为了实现多态,在C# 中,重写的是虚方法(virtual),使用override关键字来重写,而Java 中是直接复制父类中的方法就可以了.



感受:在学习JAVA 之前,我们曾学习过C#,而且还用C# 语言做过牛腩新闻发布系统.C# 和Java 有很多相似之处.学习Java 的时候,我们需要做的就是把Java 和C# 的不同和相同的找出来,区分他们的不同就可以了.其实学会了一门计算机语言,其他的基本上算是学会了.

你可能感兴趣的:(Java 和C# 不同的地方)