`

J2SE自学(四)——类与对象

阅读更多
1、类的定义:类是具有相同属性和行为的一组对象的集合 。

2、对象的定义:我们把符合某类标准的一个具体的事物称为这个类的一个对象,也把对象称为类的实例。

3、类和对象关系:
  1)、类是抽象的概念模型,它只是定义了同类的对象应该具有什么样的属性和行为,但并没有具体的数值。
  2)、对象是具体的实际模型, 对象是具有明确定义的属性和行为。一个类可以有多个属于它的对象。
  3)、可以为一个类创建多个对象,或者说一个类可以有多个属于它的实例
  4)、如果类只能有一个对象,我们就把它称为单态类(单态是一种设计模式)


4、类的 java 实现:
   类在 java 中由 class 关键字定义,类的属性就由变量实现,而行为由方法(函数,过程)实现。 (类里面只有属性和行为!)

5、类的命名规则:
  1)、类的首字母大写
  2)、不能为 Java 中的关键字
  3)、不能包含空格或点号“. ”
  4)、可以下划线“_”、字母或“$”符号开头


6、在java中,方法、函数、过程,这三个词语没有区别的,这三个词任何一个指的都是同一个概念

7、现实生活中我们一般是先有对象,然后我们根据这些对象相同或相似的属性和行为抽象出一个类,但是,在程序设计中是先有类,再创建类的具体对象。

8、除去属性的声明,其它代码必须写在方法体内。

9、使用一个对象分为两步,声明对象与创建对象,并且必须经过创建才能使用

   通过类名 对象名 ;声明对象 
   通过对象名 = new 类名();创建对象(实例化对象)
   通过对象名.属性名访问对象的属性 (这里是访问而不是设置或者修改!!)
   通过对象名.方法名()调用对象的方法

10、方法部分有三个匹配,即声明部分返回的类型与方法体里具体返回的类型与调用方法时承接的类型。

11、作为普通数据类型使用的类 :
    一个类可以理解为是一个自定义的数据类型,也就是说它与传统的数据类型具有同样的
功能。类可以作为一个类的属性,更可以作为方法的参数或返回值。

    类可以作为类的属性,这个比较简单,我们看的例子,比如说电脑重要的由四部分组
成:显示器,主机,键盘和鼠标。那么电脑类中有这四个属性,而这四个属性中的任何一个
又是一个独立的类,比如显示器类又有品牌,尺寸等属性。那么显示器类就是电脑类的一个
属性。

    类可以作为方法的参数或返回类型

12、java 中提供了构造方法来解决为对象属性赋初值的问题。

13、java 中提供的构造方法,它的方法名与类名相同,并且没有返回数值,我们把这种特殊的方法叫构造方法。利用构造方法我们就可以在创建对象的时候给属性赋初值。

14、构造方法的三个特点:
    1)、类名与方法名相同(普通方法首字母小写,构造方法首字母大写)
    2)、没有返回值,甚至没有void 关键字
    3)、在创建对象(new)的时候由系统自动调用,而普通的方法是通过对象名.方法名调用。


15、构造方法根据创建对象分为两类:
    1)、显式构造方法:由开发者编写,能在代码中看到的构造方法,显式构造方法因其参数类别和个数的不同在一个类中可以有多个。

    当然有时候在系统中并不是要使用某个类的所有属性,这样每次给所有属性赋值就没必要了,所以可以根据需求为一个类添加多个构造方法。这样在创建对象的时候,系统在创建对象时会根据构造方法的参数个数与类别,自动匹配调用对应的构造方法。(有多个构造方法的情况称为构造方法重载,这个与方法重载基本相同)如:


public class Student { 
  // 属性:由变量实现 
  String stuId; 
  String stuName; 
  int stuAge; 
  Student(){ 
    System.out.println("调用无参构造方法"); 
    System.out.println("这个还是显式构造方法"); 
  } 
  Student(String stuName) { 
    this.stuName = stuName; 
    System.out.println("有一个参数的构造方法"); 
  } 
  Student(String stuId, String stuName) { 
    this.stuId = stuId; 
    this.stuName = stuName; 
    System.out.println("有两个参数的构造方法"); 
  } 
   Student(String stuId, String stuName, int stuAge) { 
    this.stuId = stuId; 
    this.stuName = stuName; 
    this.stuAge = stuAge; 
    System.out.println("调用有三个参数的构造方法"); 
  }
}


  2)、隐式构造方法
   由编译器生成(生成对象)。当某类没有构造方法时(添加条件),系统会在把java 源文件编译为class 类文件时(何时添加)为它添加一个没有任何参数的构造方法(添加形式),我们把这个系统自动添加的没有参数的构造方法叫隐式构造方法。我们看不到隐式构造方法,但在编译后的class 类中存在。注意,只有当类没有显式构造方法时,系统才会添加隐式构造方法。

补充:
   学习一门新的计算机语言:
   第一步首先学习这门语言的基本思想! (例如:java为什么会跨平台)
   第二步学习这门语言的基本语法也就是语法结构(也就是细节问题了!)
  
分享到:
评论

相关推荐

    j2se学习笔记——课堂笔记

    **J2SE学习笔记——接口与相关程序** Java 2 Platform, Standard Edition(J2SE)是Java平台的核心部分,提供了开发和运行桌面应用程序、Web应用程序和服务的基础。本笔记主要聚焦于J2SE中的接口(Interface)概念...

    张孝祥J2SE加强自学笔记(48-56)

    【张孝祥J2SE加强自学笔记(48-56)】主要涵盖了类加载器、代理类和动态类创建等Java核心知识点。 48、类加载器的问题实验分析: 在Java中,类加载器是负责查找并加载类的机制。在Web应用中,有多种类加载器,如...

    java零基础自学之 J2SE 之 面向对象编程

    面向对象编程是Java编程语言的核心特性,特别是在J2SE(Java Standard Edition)环境中。面向对象编程(OOP)的理念是模拟现实世界中的实体,通过创建类来定义对象,并利用对象的属性和行为来解决问题。这一理念自60...

    J2SE宏观性总结

    首先,我们来探讨J2SE的基础——Java语言。Java是一种面向对象的、跨平台的编程语言,其设计目标是“一次编写,到处运行”。它的语法简洁明了,强调代码的可读性和可维护性,支持封装、继承和多态三大面向对象特性。...

    J2se 个人开发自学资料

    ### J2SE个人开发自学资料知识点总结 #### 一、Java EE 应用与框架介绍 **1. Java EE 概述** - **Java EE 的分层结构:** - **表示层(Presentation Layer):** 主要负责用户界面的显示,如网页、图形用户界面等...

    J2SE 1.6所有的类

    `Accessible*`系列类与Java Accessibility API有关,它们用于支持残障人士使用Java GUI应用程序。 `AccountException`等相关异常类用于处理身份验证和授权问题,通常在网络安全或数据库访问中出现。`Acl`和`...

    手工完成java项目(一)——J2SE项目

    1. **Java基础知识**:了解Java编程语言的基本语法,包括变量、数据类型、控制流、类与对象等概念。 2. **J2SE平台**:理解J2SE在Java生态系统中的角色,以及它支持的应用场景。 3. **项目结构**:学习如何规划和...

    工厂模式的小例子——j2sE

    它的主要目的是通过将对象的创建过程封装起来,使代码更加灵活,易于扩展,同时也解耦了对象的实例化与使用。在这个名为"工厂模式的小例子——j2SE"的项目中,开发者已经实现了一个基于Java 2 Standard Edition ...

    j2se6.rar_J2se6

    《J2SE6详解——Java开发者的必备指南》 J2SE6,全称为Java 2 Platform, Standard Edition 6,是Java平台标准版的第六个主要版本,它为Java开发者提供了广泛的功能和改进,旨在提升开发效率和应用程序的性能。这个...

    Java自学之路——(精华版)

    Java自学之路——精华版 Java作为一种广泛使用的编程语言,对于初学者来说,有着丰富的资源和广阔的学习路径。本文将提供一份详细的自学指南,帮助你高效地掌握Java编程技能。 一、选择合适的自学资源 在开始Java...

    J2SE资料

    3. **类与对象**:讲解面向对象编程的基本概念,包括类的定义、对象的创建、封装、继承和多态性。 4. **异常处理**:如何使用try-catch-finally语句处理程序运行时可能出现的错误。 5. **输入/输出流**:包括基本的...

    java课程设计大作业-用J2SE写的一个坦克大战小游戏

    java课程设计大作业——用J2SE写的一个坦克大战小游戏java课程设计大作业——用J2SE写的一个坦克大战小游戏java课程设计大作业——用J2SE写的一个坦克大战小游戏java课程设计大作业——用J2SE写的一个坦克大战小游戏...

    java 入门教程课件——j2se

    3. **类、对象和接口**(第四讲): - **类**:Java程序的基本单元,用于封装数据和方法。 - **对象**:类的实例,具有特定属性(数据成员)和行为(方法)。 - **接口**:定义了一组方法的签名,不包含实现,...

    J2SE阶段项目案例

    本项目案例——动物特性的面向对象描述,旨在通过实际操作让学员熟练运用封装、继承和多态这三大面向对象的特征。这个项目设计了一种模拟不同动物行为的方式,包括狗、猫和青蛙等,来帮助学习者理解并应用Java中的类...

    J2SE基础知识大全

    - **类与对象**:理解面向对象编程的基础,包括类的定义、对象的创建、封装、继承和多态性。 - **接口与抽象类**:接口作为实现多继承的方式,抽象类用于提供部分实现。 2. **内存管理** - **垃圾收集**:Java...

    J2SE常见面试题

    - **类的定义与对象创建**:了解如何定义一个类,以及如何通过new关键字创建对象。 - **抽象类与接口**:两者的区别和应用场景,接口的多重实现。 - **内部类**:包括成员内部类、局部内部类、匿名内部类和静态...

    J2SE_API J2SE_API

    J2SE_API、J2SE_API、J2SE_API、J2SE_API、J2SE_API、J2SE_API、J2SE_API

    学习j2se的30个问题

    类与对象**: - 每个Java类都是`Object`类的直接或间接子类,继承了其提供的基本方法。 - `equals()`和`toString()`方法在比较对象相等性和打印对象信息时非常重要。 - 类的实例化通过`new`关键字完成,创建对象后...

Global site tag (gtag.js) - Google Analytics