Java 超详细讲解类的定义方式和对象的实例化
作者:Gremmie102 发布时间:2021-09-11 17:38:29
1.面对对象的初步认识
1.1什么是面向对象
用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。
1.2面向对象与面向过程
举一个买手机的例子
以面向对象的方式来处理买手机这件事的话,我们就不需要关注买手机的过程,具体手机怎么买,如何到手,用户不用去关心,只需要告诉小秘书,然后拿手机即可,这些过程是通过对象之间的交互来完成的。
⚠️:面向过程和面向对象并不是一门语言,而是解决问题的方法,没有好坏之分
2.类的定义与使用
面向对象程序设计关注的是对象
2.1简单认识类
**类是用来对一个实体(对象)来进行描述的,**主要描述该实体(对象)具体由哪些属性(外观,作用),哪些功能(用来干啥),描述完成之后计算机就可以识别了。比如,我喜欢的女生类型是:性别为女,身高大于0,会吃饭。这就是一种类型,那么上帝视角下的我就可以通过这个类来实例化出一个具体的对象,它在堆上。现实生活中就是我根据这个类去找对象,创造对象。 那么在Java语言中,如何对上述的洗衣机类来进行定义呢?
2.2 类的定义格式
在Java中定义类时需要用到class关键字
//创建类
class ClassName{
field;//字段(属性)或者成员变量
method;//行为或者成员方法
}
class为定义类的关键字,ClassName为类的名字,{}中的东西为类的主体
类中包含的内容成为类的成员。 类中包含的内容成为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类具有哪些功能,成为类的成员方法
class MyGirlFriend{
public String name;
public String sex;//性别
public int age;
public int height;
public String favouriteFood;
public int hairLength;
public void study(){
System.out.println(this.name+"正在学习");
}
}
采用Java语言将洗衣机类在计算机定义中完成,经过javac编译后形成.class,在JVM的基础上计算机就可以识别了。
⚠️注意事项:
类名注意要采用大驼峰定义
成员前写法统一为public,后面会详细解释为什么这么做
**此处写的方法不带static关键字.**后面会详细解释
⚠️注意事项:
一般一个文件当中只定义一个类
main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法)
public修饰的类必须要和文件名相同
不要轻易修改public修饰的类的名称。
3.类的实例化
3.1什么是实例化?
定义了一个类,就相当于在计算机中定义了一种新的类型,与int double 类似,但int 和 double 是Java自带的内置类型,而类是用户自定义了一个新的类型,比如MyGirlFriend,是一个类(一种新定义的类型)有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)。
这里我们实现一个日期类
/**
* @Author 12629
* @Date 2022/3/25 19:43
* @Description: 实现一个日期类
*/
public class MyDate {
public int year;
public int month;
public int day;
/**
* 设置日期:
*/
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+"月:"+this.month+"日:"+this.day);
}
public static void main(String[] args) {
// this.printDate();
MyDate myDate = new MyDate();
myDate.setDate(2022,3,25);
myDate.printDate();
MyDate myDate2 = new MyDate();
myDate2.setDate(2022,3,28);
myDate2.printDate();
}
}
⚠️注意事项:
new关键字用于创建一个对象的实例
使用.来访问对象中的属性和方法
同一个类可以创建多个实例
3.2重点笔记
类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员。
类是一种自定义的类型
一个类可以实例化出多个对象,实例化出的对象 占用了实际的物理空间,存储类成员变量
例子:类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图
当成员变量没有赋初值的时候,每个成员变量都是他所对应的0值,引用类型对应null,bollean对应false,char对应’\u0000’即为空格
来源:https://blog.csdn.net/qq_63511424/article/details/123796962


猜你喜欢
- 今天看到一篇好的文章,分享给大家,膜拜大佬。Android10填坑适配指南,包含实际经验代码,绝不照搬翻译文档1.Region.Op相关异常
- Eclipse查看开发包jar里源代码的方法前言:最近我打算学习一下谷歌的类库Guava,下载了Guava-r09.jar包及其源码,为了可
- 批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息。 Free Spire.XLS for Java为开发人员免费提供了
- public string NextString(int charLowerBound, int charUpperBound, int l
- WebFlux服务编排WebFlux 服务编排是指使用 WebFlux 框架来编排多个异步服务的执行顺序和数据流动,从而构建出一个完整的、基
- 本文是一个 Spring 扩展支持 SPEL 的简单模式,方便第三方通过 Spring 提供额外功能。简化版方式这种方式可以在任何能获取Ap
- 一、基本使用使用示例:// 初始化BigDecimal bd1=new BigDecimal("456");BigDec
- IDEA 2020 源生是不支持中文的,感谢捷克工程师(可能是由国人实现)对我大天朝程序员的“照顾”,且不说这个必要性到底有多大,但从侧面体
- 第一步:获取存储的路径 我们用/sdcard/Android/data/包名/的路径 方便我们测试查看 String path=MyAppl
- 1、获取表中最后一条数据public static String demo() throws SQLException { String s
- 本文实例讲述了Android实现Activity、Service与Broadcaster三大组件之间互相调用的方法。分享给大家供大家参考,具
- 接口可以声明事件。 下面的示例演示如何在类中实现接口事件。 这些规则基本上都与实现任何接口方法或属性时的相同。在类中实现接口事件在类中声明事
- 贪婪量词:先看整个字符串是不是一个匹配。如果没有发现匹配,它去掉最后字符串中的最后一个字符,并再次尝试。如果还是没有发现匹配,那么 
- 线程中start方法与run方法的区别在线程中,如果start方法依次调用run方法,为什么我们会选择去调用start方法?或者在java线
- private void WorkflowConfigure_FormClosing(object sender, FormClosingE
- 项目中经常遇到分数统计的需求,例如我们执行了某项操作或做了某个题目,操作正确则计分,相反则不计分失去该项分数,为了应对需求需要一个分数统计系
- 导读Spring Boot应用可以使用spring-boot-maven-plugin快速打包,构建一个可执行jar。Spring Boot
- 前言在上篇文章《初识GraphQL》中我们大致的了解了GraphQL作用,并通过简单示例初步体验了GraphQL的使用。下面我们从Hello
- 最近学习了 C#实现文件上传与下载,现在分享给大家。1、C#文件上传创建MyUpload.htm页面,用于测试<form name=&
- 本文实例为大家分享了Android刮刮卡效果控件,供大家参考,具体内容如下刮刮卡类: package com.reyo.view;impor