Java课堂内容

Chapter 1

        1.1 Java basics // Java基础
        1.2 Your first Java program // 第一个Java程序
        1.3 Eclipse development platform // 介绍Eclipse
        1.4 Basic syntax // 基本语法
        1.5 Operators // 操作符
        1.6 Control structures // 控制流程

Chapter 2

        2.1 Introduction to Object Orientation // 面向对象介绍
        2.2 Objects // 对象
        2.3 Classes // 类
        2.4 Classes and Objects in Java // Java中的类和对象

        2.5 Composition // 组合

                一个类可以将另一个类的对象作为属性,使之成为组合类
                例如,在"学生"类中,我们可以定义名为"advisor"的导师属性代替简单的String类
                优点:避免数据冗余和潜在的丢失

        2.6 Java API Introduction // Java API 介绍

Chapter 3

        3.1 Java Methods Overview // Java方法概述
        3.2 Methods // 方法
        3.3 Message Passing Between Objects // 对象之间的信息传递
        3.4 Information Hiding / Accessibility // 信息隐藏及可访问性
        3.5 Method Overloading // 方法重载
        3.5 "this" keyword // this关键字

Chapter 4 

        4.1 Associations and Links // 关联和连接

                类之间存在的结构化关系成为关联,说明一个事物的对象与另一个事物的对象相关联
                某个对象会长期的持有另一个对象的引用,而二者的关联往往也是相互的
                两个相对独立的对象(A、B),当A对象持有B对象的时候,形成关联关系
                两个特定对象之间的结构化关系成为连接
                关联是某种类的对象之间的潜在关系,连接是特定类型对象之间的实际关系
                大多数关联出现在两个不同的类之间,这种关联成为二元关联
                一元关联或自反关联发生在同一个类的两个实例之间,三元关联涉及到三个类

        4.2 Multiplicity // 多重性

                多重性:类型A的对象与类型B的对象的关联数量
                one to one:(一个学生对应一个成绩单)
public class Transcript {
    private String ID;
    private Student student;

        public void setStudent(Student s){
                this.student=s;
    }
        public Student getStudent( ){
                return s;
    }
}

public class Student {
    private String name;
    private Transcript t;

        public void setTranscript(Transcript t){
                this.t=t;
    }
        public Transcript getTranscript( ){
                return t;
    }
}


                one to many:
public class Student {
    private String degree;
    private String major;
    private Professor p;
    
    public String getDegree( ){
        return this.degree;
    }
    public String getMajor( ){
        return this.major;
    }
    public Professor getProfessor( ){
        return this.p;
    }
}
public class Professor {
    private String ID;
    private String name;
    private Student advise[]; // 实现一个Professor对多个Student
    
    public String getID( ){
        return this.ID;
    }
    public String getName( ){
        return this.name;
    }
}


                many to many:

            注意:多重性的概念属于关联,而不是连接。
                       两个对象之间始终存在成对的连接,因此,本质上的多重性定义了某个关联可以从给定对象中产生多少个连接

        4.3 Aggregation and composition // 聚合和组合

                聚合是一种强关联关系,是整体和部分之间的关系;
                关联关系的两个类处于同一个层次上,而聚合关系的两个类处于不同的层次上,一个是整体一个是部分
                在聚合关系中,代表部分的对象有可能会被多个代表整体的对象所共享

                组合是关联关系的一种特例,成为强聚合,也体现整体和部分的关系
                此时整体和部分不可分

        4.4 Collection of Objects // 对象集合

                数组 - 对象数组 - 集合

                数组定义:char s [ ]或 char [ ] s ; s=new char [5] ;
                初始化数组:int n [ ] ={ 10,20,30 } ; n [1] = 11 ; 创建大小为3的数组n,并分别赋值;将数组n中第二个元素赋值11;
                                      如果没有对数组内数据初始化,则系统会默认对其进行初始化
                二维数组:不同数组中的元素个数可以不同

        对象数组:Student [ ] student=new Student [5] ; 
Student [] student = {
    new Student();
    new Student("aMao");
    new Student("aMao",18);
} // 通过复用构造方法建立对象数组
               
         Java集合类实例化:
public class Student {
    private String name;
    private String ID;
    private ArrayList<Course> course; // 声明一个course的Course类动态数组
    
    public Student (String name,String ID){
        this.name=name;
        this.ID=ID;
        course = new ArrayList<Course>( ); // 新建动态数组,使用迭代器可以对动态数组内容进行操作
    }
    
    public String getName( ){
        return this.name;
    }
    public String getID( ){
        return this.ID;
    }
}

ArrayList list = new ArrayList( ); // 定义ArrayList动态数组
list.add( new Student("aMao",18) ); // 添加Student类的实例化对象
list.add( new NaoTan("LaoXu","18") ); // 添加NaoTan类的实例化对象
Student s1 = (Student) list.get( 0 ); // 将动态数组内对象通过强制类型转换赋给s1
NaoTan N2 = (NaoTan) list.get( 1 );
        
        Java内的泛型(一般来说,动态数组内的储存对象可以是任意类型,而泛型数组内的对象类型唯一,无需强制类型转换即可赋值给该类的声明变量)
ArrayList<NaoTan> list = new ArrayList<NaoTan>( );
list.add("LaoXu");
NaoTan n1 = list.get(0);
        泛型动态数组可以作为某个类中的私有属性,表示一对多的关系,在构造方法中可以对其进行实例化,然后在普通方法中对其内部操作

        迭代器(Iterator)
                迭代器包含三个方法:hasnext ( )  next ( )  remove ( ),作用分别问:判断是否还有元素,获取下一个元素,删除返回的元素
                
ArrayList< NaoTan > NT = new ArrayList< NaoTan > ( );
Iterator< NaoTan > iter = NT.Iterator ( ) ;
for( NaoTan nt : NT){
    System.out.println(nt);
}

        4.5 Inheritance // 继承
        4.6 Overriding // (方法)重写
        4.7 "super" keyword // super关键字
        4.8 "final" keyword // final关键字
        4.9 equals ( ) and toString( ) method // equals()和toString()方法    


Chapter 5

        5.1 Identifying Appropriate Classes // 确定适当的类 
        5.2 Determining Associations Between Classes // 确定类之间的关联
        5.3 Identifying Attributes // 识别属性
        5.4 Identifying Operations // 识别操作
        5.5 Library System Class Diagram // 图书馆系统类图
        5.6 Student Registry System Class Diagram // 学生注册系统班级图

Chapter 6

        6.1 Polymorphism // 多态
        6.2 Abstract Classes // 抽象类
        6.3 Interfaces // 接口
        6.4 Static Features // 静态功能
        6.5 Design Pattern // 设计模式
        6.6 Singleton Pattern // 单实例模式
        6.7 Strategy Pattern // 策略模式

Chapter 8

        8.1 文件I/O介绍
        8.2 读取和写入文件的示例
        8.3 文本和二进制格式
        8.4 随机访问&顺序访问
        8.5 在库系统中使用文件I/O










全部评论

相关推荐

10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 10:52
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务