我的java学习心得(1)

chinaeagle 2002-10-24 12:33:35
初学java,昨天捧到一本书,现在翻了一半了,因为有些c++基础,看起来比较顺利,基本的东西差不多,只不过有些地方不一样,如virtual function和多态,最大的感觉就是编译慢了一点(不要说我的机器不行哦),顺便作了一些笔记,是自己的理解,大家帮忙看看,不对的地方多指教!
高手看了不要笑啊,太基础了,而且我是针对和c++中的不一样来做笔记的,对我来说有针对性!
再一次,大家多指教!

1.Java允许从一个构造函数调用另一个构造函数
通过this()关键字来调用。
2.private ctor和public ctor
private ctor无法在该构造函数所在的类以外的地方被调用。
3.Class Inheritance通过关键字extends来表示
class CCircle()
{
.......
}

class CCoin extends CCircle
{
.........
}
4.SubClass调用父类(baseclass)的ctor 通过super()关键字
super()必须写在子类构造函数的第一行
5.this()与super()的不同:前者是在同一个类内,后者是在子类中调用父类的ctor
6.statci变量的初始化是在类内,不同于c++
7.子类内调用父类的变量通过super关键字,而在c++通过scope resolution(::)
关键字this与其类似,可用this来调用实例变量。
8.防止子类覆盖(改写)父类的函数,可通过关键字final来实现.
class A
{
public final void show
{
}
}

class B extends A
{
public void show //编译出错
{
}
}
9.如果在data member前面加上final,就成为常量constant
10.在java中,如果定义一个类没有指定一个父类,则java会自动赋值该类继承自
Object这个类,而成为Object的子类(Object是置于java.lang类库里的一个类)。
在Object里定义了一些的method,常用的有:
Class getClass() //取得调用getClass()的对象所属的类
Boolean equals(Object obj) //两个类变量所指的是否为同一个对象
String toString() //将调用toString()的对象内容转成字符串

11.抽象类的定义通过 abstract关键字开头,而在c++中是通过pure virtual function

实现

abstract class A
{
.......//一般的method
abstract int show(); //abstract method ,only declaration here,we must

//write out definiton in derived class

}

abstract class CShape //定义抽象类CShape
{
.........
abstract void show(); // 只声明show(),但没有定义处理方法
}

class CRectangle extends CShape // 定义子类CRectangle
{
............
public void show(){ // 明确定义继承自抽象类的Show() method
System.out.print("color="+color+", ");
System.out.println("area="+width*height);
}
}

12. 在abstract class内不能定义ctor
...全文
101 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowrain 2002-10-28
  • 打赏
  • 举报
回复
鼓励!支持!
programmer200x 2002-10-25
  • 打赏
  • 举报
回复
俺看了两天书,再看你的心得,还是有些看不懂啊。
chinaeagle 2002-10-25
  • 打赏
  • 举报
回复
java 里面没有虚函数的概念;倒是引入了inner class,其实是不是就是类的嵌套呢?重載机制是一样的吧?
xmvigour 2002-10-24
  • 打赏
  • 举报
回复
鼓掌
coolpine 2002-10-24
  • 打赏
  • 举报
回复
看得挺快嘛,不过java和c++最大的区别我觉得就是引入了接口的概念,你怎么没有什么笔记阿?
ricetong 2002-10-24
  • 打赏
  • 举报
回复
俺是菜鸟,你以后多写写心得
我可以看一下,学一下,谢谢
harmfulbug 2002-10-24
  • 打赏
  • 举报
回复
無論繼承還是interface,還是Inner Class,還是虛函數,純虛函數,還有重載,還是初始化都有很多不一樣,赫赫,我也是剛剛才看一週,我說的不正確請指正
chinaeagle 2002-10-24
  • 打赏
  • 举报
回复
多谢大家的鼓励,正在学习中。

to gameboy999(C2Java) :说的好,我现在只是注意一些语法,语义方面的东东,实际使用时可能细节就要考虑的多了!
to owenyang(和java 在一起):我知道路还远,所以不停学习,实践!
to AAArenfan:我觉得太具体就不知笔记了,而且那样速度太慢,我现在只想快点入门。
AAArenfan 2002-10-24
  • 打赏
  • 举报
回复
我认为读书笔记还是具体一点好!!!
owenyang 2002-10-24
  • 打赏
  • 举报
回复
路还远,多写写代码吧,用的多自然就熟了
gameboy999 2002-10-24
  • 打赏
  • 举报
回复
hehe,真正写的时候还是会碰苦头的
因为要注意的东西你没写
knight_sw 2002-10-24
  • 打赏
  • 举报
回复
少而精
X25 2002-10-24
  • 打赏
  • 举报
回复
加油
alex_deng 2002-10-24
  • 打赏
  • 举报
回复
mark
dicke 2002-10-24
  • 打赏
  • 举报
回复
UP
Agelboy 2002-10-24
  • 打赏
  • 举报
回复
鼓掌
学得好快啊
computerboy111 2002-10-24
  • 打赏
  • 举报
回复
动手写一个,学得快一点

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧