面向对象课程感想

JAVA作为一种高级程序语言,其语法与C和C++很相似。在大一期间,C语言学习对于JAVA学习有很大的帮助。接下来我将简要地罗列一下JAVA学习中的所学到的知识。

一个JAVA程序很直观地由许多类构成,而类中有许多方法。如果把类比作一个人的模板,那么方法就是一个人的行为动作,如果将一个类实例话,那称之为对象。

JAVA中的类:

public class Box {
    int volume,length,width,height;
    public Box(int length,int width,int height){
        this.length=length;
        this.width=width;
        this.height=height;
        volume=length*width*height;
    }
    public int getVolume(){
        return volume;
    }
}

一个类有许多方法构成,如Box()、getVolume()都为Box的方法,其中与类Box同名的方法为该类的构造方法,如果没有人为的定义一个构造方法,编译器会为类提供一个默认的构造方法。

对象的建立:

Box box1=new Box(1,1,1);
Box box2=new Box(2,2,2);
System.out.println(box1.getVolume());
System.out.println(box2.getVolume());

通过调用getVolume()方法我们可以得到volume的值。

 

在各种语言的学习中,变量的使用范围是非常重要的。

JAVA中变量分为类变量(静态变量),局部变量,实例变量。

类变量又称静态变量,其静态并非不可更改,是指在同一个类中,该变量始终同为一个值,其值在类的创建就已经分配内存。调用同一类的对象其类变量为同一值。

局部变量的声明在方法中,在方法之外无法调用该值,其只在该方法中可见。

实例变量,声明在一个类的方法之外,其声明位置可以在末尾。

 

为了保证安全,禁止他人访问类中的变量或者方法,我们通过JAVA修饰符来实现。

一般有public,private,protected或者不使用修饰符。

private故名思意,其指私有的,是不允许其他人访问的,只在同一类中可以访问。public公众的,对于所有类都是可以访问的。protected是指在同一个包中可以访问的。

合理的使用修饰符能让程序的安全性有很大的提高。

 

我们在C语言管理存储数据时,用到的有数组、栈、链表、结构体等数据结构。树和图的构造对于初学者不易,然而在JAVA中因为其丰富的内库,我们可以简单的构造自己的数据类型,我们可以使用JAVA自带的方法来进行排序、查找,无异于减小了编程的难度。

ArrayList 相比较于数组,其存储的不再仅仅是一些数字或者字符串,可以是一个类。其功能比较与C相当于C的链表,但其更加简单,C语言中因指针产生的BUG让许多人头疼。

import java.util.*;
ArrayList<Object> list=new ArrayList<Object>();

ArrayList常用的方法有以下几种:

list.add(Object);
list.get(index);
list.indexOf(Object);

在本次课程中使用的HashMap,其使用非常简单:

HashMap<Object,Object> map=new HashMap<Object, Object>();

第一个参数为HashMap的key,第二个为value,对于HashMap的操作可以调用各种方法实现。

 

在编程时,我们有时候可能会遇到,我们所写的方法在一个类中都写过,而我们只是再添加几个方法,对于这种情况我们仅仅需要集成原先类的方法就可以了。

继承是JAVA面向对象编程中一个重要的概念。子类通过继承得到父类原有的方法,其使用为:

public box{
}
public newBox extends box{
}

继承并不能继承父类有参数的构造方法,如果需要继承其构造方法需要添加以下语句:

super(object1,object2,object3,.....);

那么对于private的方法与变量,继承是否能够继承呢?

对于父类的private的方法和变量,子类是无法直接访问的,但通过父类非private的方法可以间接访问。

 

JAVA的接口

实现方式:

public interface InterfaceName{
//     抽象的方法
    public int getVoulem();
}
public class Box implementsInterfaceName
{
}

通过此次课程对于JAVA有了初步的了解,相信通过接下来的学习使用可以更加熟练灵活地使用JAVA,并对面向对象有更深的理解。

 

对于此次课程的建议,本次课程不像一般的课程使用ppt教学,更加注重实践,即学生灵活运用老师所讲的内容,提高学生的专注度。但其缺点与明显,对于不同层次的学生,弊端显而易见。好学生能迅速反应并提前完成老师的任务,但基础差的有时无法完成老师交代的任务,更不上节奏,上课的时间完全被浪费。所以说,课程如果将提前所需的预备知识告知学生,对于学生的入门有很大的帮助。对于课程作业的测验,测试的方式值得肯定,让学生自己检验自己程序,提高责任心。

 

本次JAVA学习已经结束,在将来的实践中,熟练运用各种编程语言来解决不同的问题。

 

posted @ 2017-08-05 15:37  16061176  阅读(335)  评论(0)    收藏  举报