`
oszerone
  • 浏览: 12885 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

第4天 java类和对象

    博客分类:
  • Java
 
阅读更多

java类的基本结构(如何定义自己的类)

modifiers(public private protected) class MyClass extends MySuperClass implements YourInterface {

// field, constructor, and method declarations

}

public class Bicycle {

    // the Bicycle class has three fields
    public int cadence;
    public int gear;
    public int speed;
    // the Bicycle class has one constructor
    public Bicycle(int startCadence, int startSpeed, int startGear) {
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;
    }
    // the Bicycle class has four methods
    public void setCadence(int newValue) {
        cadence = newValue;
    }
    public void setGear(int newValue) {
        gear = newValue;
    }
    public void applyBrake(int decrement) {
        speed -= decrement;
    }
    public void speedUp(int increment) {
        speed += increment;
    } 
}

 

三种类型的变量:字段、局部变量、参数

变量的命名规则:[$_\w]{A-Za-z0-9}

方法定义:

修饰符(public private protected)、返回类型、方法名称、参数列表、异常列表、方法体

构造函数:类名相同但没有返回值的方法(如果无法访问一个类的构造方法则无法直接创建类的实例)

任意数量的参数:(Type... parameters)

原始数据类型和引用数据类型的参数传递

 

对象

使用类创建对象(使用默认构造函数以及其他构造函数创建不通的对象)

  1. 声明类实例对象(声明对象类型)
  2. 实例化对象(new操作创建对象)
  3. 初始化对象(new后调用构造函数初始化对象)
使用对象:对象名称加点操作(.)和属性名称或者方法名称(垃圾回收的问题,置为null)
类的更多特性
  1. 方法返回(执行完所有代码、遇到return语句、抛出异常)
  2. this关键字
  3. 成员访问控制(public private protected)
  4. 类成员和实例成员
  5. 成员初始化过程(静态初始化块、实例初始化块,初始化块可以考虑使用final关键字防止子类重写后出现问题)
嵌套类
  1. 静态嵌套类:OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass()
  2. 内部类(和实例关联,不能定义任何静态成员):OuterClass.InnerClass innerObject = outerObject.new InnerClass()
  3. 内部类和外部类的成员访问问题:
  4. public class ShadowTest {
    
        public int x = 0;
    
        class FirstLevel {
    
            public int x = 1;
    
            void methodInFirstLevel(int x) {
                System.out.println("x = " + x);
                System.out.println("this.x = " + this.x);
                System.out.println("ShadowTest.this.x = " + ShadowTest.this.x);
            }
        }
    
        public static void main(String... args) {
            ShadowTest st = new ShadowTest();
            ShadowTest.FirstLevel fl = st.new FirstLevel();
            fl.methodInFirstLevel(23);
        }
    }
    

    The following is the output of this example:

    x = 23
    this.x = 1
    ShadowTest.this.x = 0
  5. 局部类(局部类只能访问包含块中final修饰的变量)(Java SE 8中可以访问包含方法的参数)
  6. 匿名类(可以访问包含类的成员、只能访问final修饰的局部变量)
 
枚举类型

定义:

public enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY 
}

使用:

public class EnumTest {
    Day day;
    
    public EnumTest(Day day) {
        this.day = day;
    }
    
    public void tellItLikeItIs() {
        switch (day) {
            case MONDAY:
                System.out.println("Mondays are bad.");
                break;
                    
            case FRIDAY:
                System.out.println("Fridays are better.");
                break;
                         
            case SATURDAY: case SUNDAY:
                System.out.println("Weekends are best.");
                break;
                        
            default:
                System.out.println("Midweek days are so-so.");
                break;
        }
    }
    
    public static void main(String[] args) {
        EnumTest firstDay = new EnumTest(Day.MONDAY);
        firstDay.tellItLikeItIs();
        EnumTest thirdDay = new EnumTest(Day.WEDNESDAY);
        thirdDay.tellItLikeItIs();
        EnumTest fifthDay = new EnumTest(Day.FRIDAY);
        fifthDay.tellItLikeItIs();
        EnumTest sixthDay = new EnumTest(Day.SATURDAY);
        sixthDay.tellItLikeItIs();
        EnumTest seventhDay = new EnumTest(Day.SUNDAY);
        seventhDay.tellItLikeItIs();
    }
}

 

 

 

Classes and Objects

 

什么?java类的定义(字段、局部变量、参数、构造函数、方法)、对象的创建和初始化以及使用、内部类、嵌套类、局部类、匿名类和枚举类型

 

基础:类的定义和使用

重点:各种嵌套类的特性,枚举的使用场景和特性

 

 

分享到:
评论

相关推荐

    实验三:Java类与对象

    在本实验“Java类与对象”中,我们深入学习了Java面向对象编程的基本概念和实践。面向对象编程(OOP)是一种程序设计思想,它强调数据和操作数据的方法结合在一起,形成一个独立的对象,以此来组织和管理代码。与...

    第4章 类和对象 java编程

    【第4章 类和对象】在Java编程中,类(Class)和对象(Object)是核心概念,构成了面向对象编程的基础。面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,强调以对象作为程序设计的核心,通过封装...

    Java基础入门教程 第3章 类和对象(共40页).ppt

    学习本章的目标是理解对象和类的概念,掌握如何定义类、创建对象以及使用构造方法。通过面向对象编程,开发者可以更有效地模拟现实世界的问题,构建出更符合人类思维的软件系统。在实际编程中,熟练运用类和对象能...

    java面向对象程序设计第4章源代码

    描述中的"第4章"可能涵盖了如何创建和实例化类,以及如何使用构造函数初始化对象。构造函数是一个特殊的方法,用于在创建对象时执行特定的初始化任务。 其次,对象是类的实例,是实际存在的数据结构。通过使用new...

    完整版 Java初级教程 Java语言程序设计 第4章 类和对象(共22页).ppt

    面向对象编程(Object Oriented Programming,简称OOP)是Java的核心概念,它通过类和对象的概念来模拟现实世界的实体和它们之间的关系。 类是面向对象编程的基础单元,它是一个模板或蓝图,用于创建具有相似特性的...

    Java第4章 认识类和对象.含源代码

    在Java编程语言中,类和对象是核心概念,它们构成了面向对象编程的基础。本章将深入探讨这两个概念,以及如何在实际编程中运用它们。源代码的提供将帮助我们更直观地理解这些理论知识。 首先,我们需要理解什么是类...

    Java面向对象程序设计

    4. **第4章:类与对象** - **类的定义**:类是对象的蓝图,包含属性(成员变量)和方法(成员函数)。 - **对象创建**:通过`new`关键字实例化一个类的对象。 - **封装**:将数据和操作数据的方法封装在类中,...

    java语言与面向对象程序设计作业题与参考答案汇编.doc

    `,这表明该方法没有具体实现,必须在派生类中定义(第4题)。访问修饰符如`private`、`public`和`protected`用于控制类成员的可见性(第12题)。`this`关键字用于引用当前对象,而`null`是一个特殊的值,表示没有...

    Java面向对象程序设计(第二版)

    不过,我可以基于《Java面向对象程序设计(第二版)》这个标题和标签,来详细说明Java面向对象程序设计中可能涵盖的知识点。 在深入介绍之前,首先需要明确面向对象程序设计(OOP)是一种编程范式,它使用“对象”...

    java面向对象程序设计课程每章ppt(共15章+复习1章).zip

    第10章 static修饰符.pptx 第10章 枚举.pptx ...第4章 类和对象(1).pptx 第4章 类和对象(2).pptx 第5章 类的继承.pptx 第6章 抽象类和接口.pptx 第7章 多态.pptx 第8章 包装器类.pptx 第9章 内部类.pptx

    ACCP5.0S2教程\使用Java实现面向对象编程(Java OOP)\使用Java实现面向对象编程(Java OOP)上机贯穿案例源码

    "ACCP5.0 S2"可能是一个计算机编程课程或培训计划的一部分,其中S2可能代表课程的第二阶段,而"Java OOP上机贯穿"则意味着学员将通过实际编程项目来实践和巩固所学知识。 源代码中包含的上机贯穿案例可能是多个小...

    《Java面向对象程序设计(第2版)》课件

    第二版的《Java面向对象程序设计》课件旨在深入浅出地介绍这一关键概念,帮助学习者掌握Java语言的基础以及面向对象编程的核心思想。下面将详细阐述Java面向对象编程的基本概念、特性及其在实际开发中的应用。 1. ...

    java2 使用教程(第三版) 实验指导 上机实践3 类与对象

    本实验指导将深入讲解如何在Java 2(通常指的是Java SE 2)环境中,通过上机实践来理解和运用类与对象,以及如何有效地组织代码,例如使用package和import语句。 一、类与对象 1. **类的定义**:类是对象的模板或...

    Java面向对象程序设计第四章源代码

    本资源包含的是《Java面向对象程序设计》一书第四章的源代码,这章通常会深入讲解类、对象、继承和多态等核心概念。 1. **类与对象**: - **类**:在Java中,类是对象的蓝图,定义了对象的属性(变量)和行为...

    Java 类和对象学习视频以及代码资源,文本题库

    "Day3.7"可能是指学习课程的第三天第七个主题,具体可能涵盖了类和对象的深入探讨,例如抽象类、接口、构造器的使用、封装示例等。通过学习这部分内容,你可以更熟练地设计和使用Java类与对象。 总之,Java类和对象...

    计算java对象大小

    这篇博客文章可能探讨了如何通过不同的工具和技术来估算Java对象在内存中的占用空间。 首先,Java对象的大小不是固定不变的,它取决于对象的类结构,包括类中的属性数量、类型以及虚拟机的实现。每个对象都会有一个...

    JAVA第四章类与对象.pptx

    Java第四章类与对象,介绍类与对象的使用,关系,Java是面向对象的程序设计语言。封装性、继承性、多态性

    Java实现面向对象编程2章示例

    在Java编程语言中,面向对象编程(Object-Oriented Programming, OOP)是核心特性之一,它基于类和对象的概念,使得代码结构清晰、可维护性高。在北大青鸟S2课程中,第二章主要讲解了如何使用Java来实现面向对象编程...

Global site tag (gtag.js) - Google Analytics