【JavaSE】Java类和对象(重点详解)_Java SE
✨作者:@小孙的代码分享
✨专栏:《Java SE》
✨送给各位的一句话:空杯心态 才能学到新知
✨希望大家看完博客可以有所收获,别忘了,点赞+评论!
1.面向对象
我们开始学习编程遇到了许多语言,对于C语言来说,是完全面向过程的。
对于C++语言来说,是一半面向过程,一半是面向对象。(C++是半面向对象的)
对于Java语言来说,是完全面向对象的。那么我就先带大家了解一下什么是面向对象/面向过程?
我给大家举个例子来深入理解一下什么是面向过程,什么是面向对象:
面向过程:就是注重每一步,每一个环节,也就是所说的注重过程。通过一步一步来完成要解决的问题。
面向对象:就是将不再注重过程,以对象的方式来处理问题,通过对象与对象之间的交互完成要解决的问题。
所以无论是面向对象还是面向过程都有它自己专门的用处,并没有好坏之分。
2.类的介绍
类:就是对一个实体对象的描述。
首先我们来定义一个学生类。
Java里面的类由关键字class定义,类中的元素称为:成员属性。类中的函数称为:成员方法。
class Student{//类名 必须是:大驼峰//1.字段/属性【成员变量】 类的内部 方法的外部public String name;public int age;//2.行为/方法【成员方法】public void Study(){int a=10; //局部变量System.out.println("爱学习");}public void Sports(){System.out.println("爱运动");}
}
目前我们已经定义好了一个类,有类产生对象的过程我们叫做实例化,下面我们就来了解一下如何实例化。
实例化对象:
//通过new关键字 实例化了一个对象Student student=new Student();
访问成员变量:
对象.属性
System.out.println(student.name);
System.out.println(student.age);
调用成员方法:
对象.方法
student.Study();
student.Sports();
给成员变量赋值:
对象.属性=XX
student.name="雷小红";
student.age=21;
在没有赋值之前是会默认赋值为类型相对应的0值。
类型 | 对应的0值 |
---|---|
整型 | 0 |
浮点型 | 0.0 |
字符型 | /u0000 |
引用类型 | null |
3.类和对象的个人理解
4.this的引用
首先我们进行定义一个日期类:
属性:
方法:
因为形参名可能会与成员变量同名导致输出结果为0/null,或者多个对象调用同一个属性会导致出错。因此我们可以在所要引用的属性前加this。this引用代表的是当前对象的引用。
既然我们学习了this,那么在遇到这种情况的时候我们都自觉的加上this会使程序保险一点。
5.构造方法的理解
构造方法是一个比较特殊的方法,通过构造方法可以完成对象的创建,以及实例变量的初始化
。
换句话说:构造方法是用来创建对象,并且同时给对象的属性赋值
。
注意:实例变量没有手动赋值的时候,系统会赋默认值。
public Date(){System.out.println("不带参数的构造方法");//这个不带参数的构造方法 当我们没有写的时候编译器会默认提供一个不带参数的构造方法!//实例化一个对象分两步 :1,为这个对象分配内存 2,调用合适的构造方法(构造方法不止一个)}
//构造方法满足 方法的重载
//构造方法是支持方法重载的。
//在一个类当中构造方法可以有多个。
//并且所有的构造方法名字都是一样的。public Date(int year,int month,int day){this.year=year;this.month=month;this.day=day;System.out.println("调用带有三个参数的构造方法");}
注意:
- 第一:修饰符列表目前统一写:
public
。千万不要写public static。 - 第二:构造方法名和
类名
必须一致
。 - 第三:构造方法
不需要
指定返回值类型
,也不能写void,写上void表示普通方法,就不是构造方法了。
当一个类中没有提供任何构造方法,系统默认提供一个无参数的构造方法。
当一个类中手动的提供了构造方法,那么系统将不再默认提供无参数构造方法。(救穷不救急)
今天的复习总结就先到这,对于类和对象这块的内容我会持续的更新复习总结,如果大家觉得小孙总结的还不错,给小孙鼓励一下
【JavaSE】Java类和对象(重点详解)_Java SE相关推荐
- Java 类的生命周期详解
一. 引 言 最近有位细心的朋友在阅读笔者的文章时,对Java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大 ...
- python类和对象基础详解
类和对象 1 面向对象的思想 面向过程:面向处理理,更多的是从计算机⻆角度思考,注重计算每⼀一个步骤,程序更 像是⼀一本cpu操作⼿手册. 面向对象:以日常生活的角度思考问题的解决,更接近人的思维方式 ...
- java 初始化object_Java对象初始化详解
出处:http://blog.jobbole.com/23939/ 在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的.本文试图对Java如何执行对象的初始化做一个 ...
- 什么叫类与对象? 详解~
类与对象 1. 面向过程和面向对象 大一刚开始学编程的时候,老师说一定要了解面向过程开发和面向对象开发. 我当时心想:"学校还能分配个对象给我?让我天天面向她?"后来发现是我多想了 ...
- C++类与对象概念详解
一. 简介 1.类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法.类中的数据和方法称为类的成员.函数在一个类中被称为类的成员. 2.类提供了对象的蓝图,所以基本上,对象是根据类来创建的.声 ...
- java对文件的操作详解_Java 对 Properties 文件的操作详解及简单实例
Java 对 Properties 文件的操作详解及简单实例 发布于 2020-8-7| 复制链接 摘记: Java 对 Properties 文件的操作简介在 Java 中,我们常用 java.ut ...
- Java中static的作用详解_java中static作用详解
static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...
- java 类及对象的课后作业_JAVA类和对象课后作业
1.使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询"你已经创建了多少个对象?" 代码: //显示类 //YiMingLai 2 ...
- Java基础:对象序列化详解
在我们平日开发中,经常让PO类去实现Serializable接口,然后让其可序列化.不过有时我们并不是特别清楚为什么要序列化,特别是对于纯Web项目开发的同学来说,需求环境不一定能用上.下面我简单和大 ...
- java类和对象数组传参_Java 练习(替换数组元素, 将对象作为参数传递给方法)
替换数组元素 定义一个int型的数组:int[] arr = new int[]{12,3,3,34,56,77,432}; 让数组的每个位置上的值去除以首位置的元素,得到的结果,作为该位置上的新值然 ...
最新文章
- Babel 快速入门
- centos7输入shell找不到命令_反弹shell原理与实现
- cinder与ceph的区别_分布式存储基础、Ceph、cinder及华为软件定义的存储方案 -
- php简单生成缩略图方法
- 如何检测过时的Kubernetes API
- 动力环境监控系统论文_浅析建设智能化动力环境监控系统维护水平论文
- Matlab数据可视化编程总结
- 给视频添加马赛克并裁剪画面的简单步骤
- webpack ——自定义Loader,将i18n英文单词首字母转大写
- CC2530看门狗定时器实现1秒定时
- 香港服务器防攻击能力好吗
- Greenplum Python工具库gpload学习——gpload类
- Win10怎么设置每天自动开机
- 安徽阜阳计算机高中学校排名,安徽最强的五所高中,都是知名实力中学,考上就离名牌大学不远了!...
- UConn DataMining Math5671 课程小记 知识点:正则化方法
- pom引入外部jar
- 分布式系统之-我的书单
- 校园网同时连手机和电脑、用数据线给电脑连网
- c语言 寻找相同的数字,用c语言编写寻找既是完全平方数,又有两位数字相同的三位正整数,例如121,144等。...
- 2021年全国程序员工资出炉,想要年薪60万,难不难?网友,扎心了
热门文章
- 傅里叶级数(一)公式的组成部分
- Binder系列11 死亡通知机制
- c语言中有布尔型变量,定义布尔型变量的关键字是_________。
- 关于Microwindows(nano x)2410的移植
- django 修改mysql_django中怎样修改mysql数据
- Ubuntu14.04安装freesurfer
- 高等数学18讲(19版)7.11
- 18个Python爬虫实战案例(已开源)
- TensorFlow 安装chainer,以及conda安装cudatoolkit、cupy
- 华为机试2022.4.6:天然货仓