C#开发人员开始 Java 课程

我已经从开放大学开始了一个模块,在那里我将通过学习和使用Java学习OO概念。 作为个人文档以及对所有人的兴趣,我决定将自己的旅程记录下来。

在开始之前,我在过去的四年左右的时间里一直专门从事C#的工作,首先是作为一名自动化测试人员,然后是一名软件工程师,因此我熟悉OO的原理和概念。 尽管我承认我的理论缺乏,因为我没有去上大学,也没有学习过我现在所学的任何CS课程。 我曾经使用过其他语言,但是Java并不是我真正接触过的语言,但是与c#如此相似,我听说它谈论了很多次,因此我至少了解了学习它时会遇到的一些差异。

这是我上这门课程时的第一个发现。

我想要我的IDE

大学使用的工具是BlueJ。 虽然我可以看到其对于学习OO和Java的人的吸引力,但Visual Studio和VS Code却是一场真正的战斗。 我的智能感应到哪里去了!感觉就像是退后一步,并且感觉与现实世界无关。

收藏很难!

好吧,我承认也许Linq把我宠坏了,但是使用集合似乎是不必要的困难。似乎需要大量的代码来创建一个新列表并遍历它。也许这只是我一个人的想法,我希望几周后我能对此一笑置之,并在评论中高谈阔论这实际上有多简单。

我的入口在哪里

当我想创建一个hello world console应用程序时遇到了这个问题。 快速搜索后,发现这只是方法


public static void main() { 
...
} 

这可以在任何课堂上进行。我想这可能是有利的,也可能是不利的。

始终输入

我是c#中var的大用户,几乎是任何通用的关键字,都能使编译器确定类型。但是在Java中,您必须每次都设置Type。这并不是什么大事,在某些情况下,确保变量是您所期望的类型是有益的


String name  = "John Doe";

大写的String和Boolean,小写的int吗?

从我看来能够收集的类型彼此具有不同的大小写。 在C#中几乎全部为小写 C#


string Name;
int Age; 
boolean IsVerified;

但是在Java中


String name;
int age; 
Boolean isVerified

更多套管问题

我在使用JS和TS时就习惯了这一点,但无论如何都知道它,但是方法名和实例变量(在c#中称为属性)以小写开头



private String name;

public void setName(String name){
 this.name = name;
}
...

显式获取器和设置器

令我震惊的是,我被告知必须为我要公开和操作的每个实例变量创建并公开getter和setters方法。 我非常喜欢C#的处理方式

C#


public string Name { get; set; } 

Java


private String name;

public String getName(){
   return name;
}

public void setName(String name){
   this.name = name
}

总结一下

似乎我在抱怨Java,也许我是c#的狂热分子,但您的期望是什么,这就是我的世界,并且已经存在了几年,因此需要进行一些调整。 我希望在我深入研究Java领域时继续记录自己的学习情况,毕竟这是有原因的,因为它仍然如此受欢迎!

原文链接: https://dev.to//alexs1305/a-c-dev-starting-a-java-course-2k1b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值