1.需求描述 ①定义一个学生类,然后根据该类创建3个具体的学生对象 类中包含信息:学生姓名.学号.年龄.性别.所在地址 ②将这三个学生对象存入到数组中 ③然后将数组对象按照学生的年龄倒序排序 2.代码 目录结构: Student.java的内容 package cn.test.logan.day03; public class Student { // 定义类 String stuName; String stuNo; int Age; String Gender; String Addr; }…
Java面向对象之类和对象 一.面向对象概述 Java是完全的面向对象编程(Object Oriented Programming),简称OOP. 面向对象编程的思维方式更加符合大家的日常生活,因为我们的现实世界都是由各种各样的对象组成,大到飞机.火车.楼房,小到一只狗.笔记本电脑.一本书都是实实在在的对象.然而每个对象都有自己的状态和行为,我们可以通过对象来完成一定的任务. 例如:我们乘坐飞机从深圳飞到湘西去旅游,我们可以直接使用飞机的飞行能力,而不用管飞机这个对象是如何制造的.直接使用即可.…
1.对象的特征---类的属性 每个对象的每个属性都有特定的值 对象的操作---类的方法 2.封装 对象同时具有属性和方法两项属性. 对象的属性和方法同时被封装在一起,共同体现事物的特性,二者相辅相成,不能分割. 3.类和对象的区别: 类:抽象的概念,是一个模子,确定了对象的属性和方法. 对象:能够看得见摸得着的实物,具有静态和动态特性. 4.定义类的步骤: 1)定义类名 2)定义类的属性 访问修饰符 属性类型 属性名称=默认值: 3)定义类的方法 访问修饰符 返回值类型 方法名称(){ 方法体:…
视屏讲解:https://www.bilibili.com/video/av48272174 面向过程 VS 面向对象 面向过程:强调步骤. 面向对象:强调对象. 面向对象的特点就是:隐藏具体实现的细节,将复杂的事情简单化. 代码中的面向对象 import java.util.Arrays; public class 代码中的面向对象 { public static void main(String[] args) { int arr[] = { 1, 2, 3 }; // 面向过程 for (…
内容: (1)引用 (2)类型转换 (3)C++社区给C程序员的建议 (4)面向对象编程的概念 (5)类和对象 (6)构造函数 (7)初始化列表及其必要性 1.引用1.1 指针和引用的使用说明(1)指针中*的停靠问题 int* pi; int * pi; int *pi;// 效果都是一样的 不成文的规则: 如果定义一个指针变量时,习惯上让*停靠在数据类型的那边;如果定义多个指针变量时,习惯上让*停靠在变量名的那边如: int* pi; int *pi,*pj; (2)引用中&的停靠问题 int…
一).在1和2中有粗略介绍过类和对象的概念,在这里简单回顾一下: 对象与类:一个实际或者虚拟的物体,这个物体既是我们的对象,这个物体呢又是属于一个分类,如动物类,人类 二).创建对象: 在创建对象的时候.我们需要先抽象出类,比如我们需要创建一个对象是生物,类是人,那么人具有吃饭.睡觉.说话等等属性,所以定义类实现如下: package test; public class Man { // 创建一个人类 // 人类拥有的属性吃饭.睡觉.说话 private String EAT; private…
对象流的两个类: ObjectOutputStream:将Java对象的基本数据类型和图形写入OutputStream ObjectInputStream:对以前使用ObjectOutputStream写入的基本数据和对象进行反序列化 序列化一组对象: 在系列化操作中,同时序列化多个对象时,反序列化也必须按顺序操作,如果想要序列化一组对象该如何操作呢? 序列化一组对象可采用,对象数组的形式,因为对象数组可以向Object进行转型操作. 把对象序列化到文件当中,然而文件中存的是字节.我们对象里面相…
类的使用分为三个步骤: 类的加载->类的连接->类的初始化 一.类的加载 当程序运行的时候,系统会首先把我们要使用的Java类加载到内存中.这里加载的是编译后的.class文件 每个类加载到内存中,会创建一个对应的Class对象.这个Class对象保存了这个类有哪些成员(数据成员,方法成员) 注意:这里只有在某个Java类被使用的时候,才会被加载 加载时机:任何用到这个类的时候.(实例化,使用里面的静态静态成员....) 二.类加载器(JVM里面的一个东西) 作用:将.class文件(可能在磁…
内容: (1)析构函数 (2)拷贝构造和拷贝赋值 (3)静态成员 (4)成员指针 (5)输入输出运算符重载 1.析构函数 当一个对象被创建时,自动调用构造函数进行初始化 当一个对象被销毁时,自动调用析构函数进行资源的回收 1.1 格式 class 类名 { ~类名(void) { //析构函数体; } }; 针对构造函数和析构函数 叫做构造器和析构器 注意: 对于全局变量/局部变量/块变量,当生命周期结束时自动调用析构函数;而对于堆区的对象来说,当delete时会自动调用析构函数 1.2 缺省析…
内容: (1)构造函数 (2)初始化列表及其必要性 (3)支持自定义类型转换的构造函数 (4)this指针 (5)const对象和成员函数 (6)析构函数 1.构造函数1.1 格式: class 类名 { 类名(形参表) { 构造函数体; } }; 练习: 自定义Student类,属性有:姓名和年龄,提供一个show函数即可 注意: (1)创建对象时会自动调用构造函数进行初始化,初始化成员变量 (2)如果一个类中没有自定义构造函数,那么系统会自动提供一个无参的构造函数(缺省构造函数,默认构造函数…