我的java学习心得(1)

时间:2022-06-01 22:14:27
初学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

17 个解决方案

#1


看得挺快嘛,不过java和c++最大的区别我觉得就是引入了接口的概念,你怎么没有什么笔记阿?

#2


鼓掌

#3


动手写一个,学得快一点

#4


鼓掌
学得好快啊

#5


UP

#6


mark

#7


加油

#8


少而精

#9


hehe,真正写的时候还是会碰苦头的
因为要注意的东西你没写

#10


路还远,多写写代码吧,用的多自然就熟了

#11


我认为读书笔记还是具体一点好!!!

#12


多谢大家的鼓励,正在学习中。

to gameboy999(C2Java) :说的好,我现在只是注意一些语法,语义方面的东东,实际使用时可能细节就要考虑的多了!
to owenyang(和java 在一起):我知道路还远,所以不停学习,实践!
to AAArenfan:我觉得太具体就不知笔记了,而且那样速度太慢,我现在只想快点入门。

#13


無論繼承還是interface,還是Inner Class,還是虛函數,純虛函數,還有重載,還是初始化都有很多不一樣,赫赫,我也是剛剛才看一週,我說的不正確請指正

#14


俺是菜鸟,你以后多写写心得
我可以看一下,学一下,谢谢

#15


java 里面没有虚函数的概念;倒是引入了inner class,其实是不是就是类的嵌套呢?重載机制是一样的吧?

#16


俺看了两天书,再看你的心得,还是有些看不懂啊。

#17


鼓励!支持!

#1


看得挺快嘛,不过java和c++最大的区别我觉得就是引入了接口的概念,你怎么没有什么笔记阿?

#2


鼓掌

#3


动手写一个,学得快一点

#4


鼓掌
学得好快啊

#5


UP

#6


mark

#7


加油

#8


少而精

#9


hehe,真正写的时候还是会碰苦头的
因为要注意的东西你没写

#10


路还远,多写写代码吧,用的多自然就熟了

#11


我认为读书笔记还是具体一点好!!!

#12


多谢大家的鼓励,正在学习中。

to gameboy999(C2Java) :说的好,我现在只是注意一些语法,语义方面的东东,实际使用时可能细节就要考虑的多了!
to owenyang(和java 在一起):我知道路还远,所以不停学习,实践!
to AAArenfan:我觉得太具体就不知笔记了,而且那样速度太慢,我现在只想快点入门。

#13


無論繼承還是interface,還是Inner Class,還是虛函數,純虛函數,還有重載,還是初始化都有很多不一樣,赫赫,我也是剛剛才看一週,我說的不正確請指正

#14


俺是菜鸟,你以后多写写心得
我可以看一下,学一下,谢谢

#15


java 里面没有虚函数的概念;倒是引入了inner class,其实是不是就是类的嵌套呢?重載机制是一样的吧?

#16


俺看了两天书,再看你的心得,还是有些看不懂啊。

#17


鼓励!支持!