当前位置: 首页 > news >正文

JAVA第七学:类和对象

1.认识面向对象

Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人 们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。

面向对象方式来进行处理,就不关注洗衣服的过程,具体洗衣机是怎么来洗衣服,如何来甩干的,用户不用去关心,只需要将衣服放进洗衣机,倒入洗衣粉,启动开关即可,通过对象之间的交互来完成的。

注意:面向过程和面相对象并不是一门语言,而是解决问题的方法,没有那个好坏之分,都有其专门的应用场景。


2.类的定义与使用

类中包含的内容称为类的成员属性主要是用来描述类的,称之为类的成员属性或者类成员变量方法主要说明类具有哪些功能,称为类的成员方法

class WashMachine{public String brand;   // 品牌public String type;    // 型号public double weight;  // 重量public double length;  // 长public double width;  // 宽public double height;  // 高public String color;   // 颜色public void washClothes(){   // 洗衣服System.out.println("洗衣功能");}public void dryClothes(){    // 脱水System.out.println("脱水功能");}public void setTime(){       // 定时System.out.println("定时功能");}
}

采用Java语言将洗衣机类在计算机中定义完成,经过javac编译之后形成.class文件,在JVM的基础上计算机就可以识别了。

定义一个狗类

class PetDog {// 狗的属性public String name;//名字public String color;//颜色// 狗的行为public void barks() {System.out.println(name + ": 旺旺旺~~~");}public void wag() {System.out.println(name + ": 摇尾巴~~~");}
}

定义一个学生类

public class Student{public String name;public String gender;public short  age;public double score;public void DoClass(){}public void DoHomework(){}public void Exam(){}
}

3.类的实例化

定义了一个类,就相当于在计算机中定义了一种新的类型,与int,double类似,只不过int和double是java语言自 带的内置类型,而类是用户自定义了一个新的类型,比如上述的:PetDog类和Student类。它们都是类(一种新定 义的类型)有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)。

用类(类型)创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象。

new 关键字用于创建一个对象的实例;使用 . 来访问对象中的属性和方法;同一个类可以创建多个实例.



4.this引用

this引用指向当前对象(成员方法运行时调用该成员方法的对象),在成员方法中所有成员变量的操作,都是通过该引用去访问。只不过所有的操作对用户是透明的,即用户不需要来传递,编译器自动完成。    注意:this引用的是调用成员方法的对象。


5.对象的构造及初始化

5.1 构造方法(特性)

(1)名字必须与类名相同

(2)没有返回值类型,设置为void也不行

(3)创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次(相当于人的出生,每个人只能出生一次)

public class Date {public  int year;public  int month;public  int day;public Date(){year = 2025;month = 9;day = 27;System.out.println("调用构造方法");}public void setdate(int year, int month,int day){this.year = year;this.month = month;this.day = day;}public void printDate(){System.out.println(this.year + "-" + month + "-" +day);}public static void main(String[] args) {Date date = new Date();data.printDate();}
}

(4)构造方法可以重载(用户根据自己的需求提供不同参数的构造方法)

(5)如果用户没有显式定义,编译器会生成一份默认的构造方法,生成的默认构造方法一定是无参的。  public Date( ){ }     确保new操作能够正常进行     

注意:一旦用户定义,编译器则不再生成。

(6)构造方法中,可以通过this调用其他构造方法来简化代码

(7)绝大多数情况下使用public来修饰,特殊场景下会被private修饰(后序讲单例模式时会遇到)

总结

5.2 就地初始化  代码块初始化

注意:代码编译完成后,编译器会将所有给成员初始化的这些语句添加到各个构造函数中

5.3 对象的打印



6.包是什么

6.1 概念+自定义包




6.2 导入包中的类


7. 封装(重点)

7.1 概念

7.2 访问限定符

Java中主要通过类和访问权限来实现封装:类可以将数据以及封装数据的方法结合在一起,更符合人类对事物的认知,而访问权限用来控制方法或者字段能否直接在类外使用




8.static成员

在Java中,被static修饰的成员,称之为静态成员,也可以称为类成员,其不属于某个具体的对象,是所有对象所共享的。

        

8.1 static修饰成员变量

static修饰的成员变量,称为静态成员变量(类属性,静态成员变量最大的特性:不属于某个具体的对象,是所有对象所共享的。

8.2 static修饰成员方法

Java中,被static修饰的成员方法称为静态成员方法,是类的方法,不是某个对象所特有的。静态成员一般是通过静态方法来访问的。




9.代码块



http://www.dtcms.com/a/423302.html

相关文章:

  • 使用过程宏实现自动化新增功能
  • 哈尔滨模板网站建站珠海企业网站制作费用
  • 莱芜网站优化企业内训
  • Linux服务器NAS挂载:Truenas
  • 【图像处理-基础知识】SFIT特征解析
  • 基于杰理AC6321A2做加热产品
  • 最流行的做网站语言合优人才网合川
  • gRPC从0到1系列【8】
  • 阿里-FORGE-生成式推荐SID构建
  • Python脚本(Kafka生产者+消费者)
  • 光伏出海加速!中国企业抢占全球市场
  • 网站排名提升软件网站制作先做数据库还是前台
  • 上海工程咨询行业协会网站优化内链怎么做
  • 基于 Vue 3 + TypeScript + TSX + Naive UI 的数据渲染后台管理系统模板开发方案
  • PostgreSQL向量检索:pgvector入门指南
  • 日本复古电影风格街拍人像摄影后期Lr调色教程,手机滤镜PS+Lightroom预设下载!
  • STM32CUBEMX + STM32L051C8T6 + RTC实时时钟 + 闹钟定时唤醒 + 周期唤醒 + STANDBY模式RTC唤醒
  • Redis高可用架构设计:主从复制、哨兵、Cluster集群模式深度对比
  • 网站上线需要哪些步骤站长 网站对比
  • 网站定制的销售情况桂林人网
  • 国外免费网站模板在哪里可以改动网站标题
  • 【笔记】在WPF中 BulletDecorator 的功能、使用方式并对比 HeaderedContentControl 与常见 Panel 布局的区别
  • 13. 初识 NVMe over RDMA
  • 分词和词向量的学习记录
  • QML学习笔记(二十)QML的自定义信号
  • 青岛网站建设方案咨询注册网站时审核是人工审核吗还是电脑审核
  • 【星海出品】直接映射方式
  • LeetCode 7.整数反转
  • 网站开发目前用的是什么语言seo相关ppt
  • C++ 函数指针、回调与 Lambda 全解析