✨作者:@小孙的代码分享

✨专栏:《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("调用带有三个参数的构造方法");}

注意:

  1. 第一:修饰符列表目前统一写:public。千万不要写public static。
  2. 第二:构造方法名和类名必须一致
  3. 第三:构造方法不需要指定返回值类型,也不能写void,写上void表示普通方法,就不是构造方法了。

当一个类中没有提供任何构造方法,系统默认提供一个无参数的构造方法。
当一个类中手动的提供了构造方法,那么系统将不再默认提供无参数构造方法。

(救穷不救急)

今天的复习总结就先到这,对于类和对象这块的内容我会持续的更新复习总结,如果大家觉得小孙总结的还不错,给小孙鼓励一下 

【JavaSE】Java类和对象(重点详解)_Java SE相关推荐

  1. Java 类的生命周期详解

    一. 引 言 最近有位细心的朋友在阅读笔者的文章时,对Java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大 ...

  2. python类和对象基础详解

    类和对象 1 面向对象的思想 面向过程:面向处理理,更多的是从计算机⻆角度思考,注重计算每⼀一个步骤,程序更 像是⼀一本cpu操作⼿手册. 面向对象:以日常生活的角度思考问题的解决,更接近人的思维方式 ...

  3. java 初始化object_Java对象初始化详解

    出处:http://blog.jobbole.com/23939/ 在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的.本文试图对Java如何执行对象的初始化做一个 ...

  4. 什么叫类与对象? 详解~

    类与对象 1. 面向过程和面向对象 大一刚开始学编程的时候,老师说一定要了解面向过程开发和面向对象开发. 我当时心想:"学校还能分配个对象给我?让我天天面向她?"后来发现是我多想了 ...

  5. C++类与对象概念详解

    一. 简介 1.类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法.类中的数据和方法称为类的成员.函数在一个类中被称为类的成员. 2.类提供了对象的蓝图,所以基本上,对象是根据类来创建的.声 ...

  6. java对文件的操作详解_Java 对 Properties 文件的操作详解及简单实例

    Java 对 Properties 文件的操作详解及简单实例 发布于 2020-8-7| 复制链接 摘记: Java 对 Properties 文件的操作简介在 Java 中,我们常用 java.ut ...

  7. Java中static的作用详解_java中static作用详解

    static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...

  8. java 类及对象的课后作业_JAVA类和对象课后作业

    1.使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询"你已经创建了多少个对象?" 代码: //显示类 //YiMingLai 2 ...

  9. Java基础:对象序列化详解

    在我们平日开发中,经常让PO类去实现Serializable接口,然后让其可序列化.不过有时我们并不是特别清楚为什么要序列化,特别是对于纯Web项目开发的同学来说,需求环境不一定能用上.下面我简单和大 ...

  10. java类和对象数组传参_Java 练习(替换数组元素, 将对象作为参数传递给方法)

    替换数组元素 定义一个int型的数组:int[] arr = new int[]{12,3,3,34,56,77,432}; 让数组的每个位置上的值去除以首位置的元素,得到的结果,作为该位置上的新值然 ...

最新文章

  1. Babel 快速入门
  2. centos7输入shell找不到命令_反弹shell原理与实现
  3. cinder与ceph的区别_分布式存储基础、Ceph、cinder及华为软件定义的存储方案 -
  4. php简单生成缩略图方法
  5. 如何检测过时的Kubernetes API
  6. 动力环境监控系统论文_浅析建设智能化动力环境监控系统维护水平论文
  7. Matlab数据可视化编程总结
  8. 给视频添加马赛克并裁剪画面的简单步骤
  9. webpack ——自定义Loader,将i18n英文单词首字母转大写
  10. CC2530看门狗定时器实现1秒定时
  11. 香港服务器防攻击能力好吗
  12. Greenplum Python工具库gpload学习——gpload类
  13. Win10怎么设置每天自动开机
  14. 安徽阜阳计算机高中学校排名,安徽最强的五所高中,都是知名实力中学,考上就离名牌大学不远了!...
  15. UConn DataMining Math5671 课程小记 知识点:正则化方法
  16. pom引入外部jar
  17. 分布式系统之-我的书单
  18. 校园网同时连手机和电脑、用数据线给电脑连网
  19. c语言 寻找相同的数字,用c语言编写寻找既是完全平方数,又有两位数字相同的三位正整数,例如121,144等。...
  20. 2021年全国程序员工资出炉,想要年薪60万,难不难?网友,扎心了

热门文章

  1. 傅里叶级数(一)公式的组成部分
  2. Binder系列11 死亡通知机制
  3. c语言中有布尔型变量,定义布尔型变量的关键字是_________。
  4. 关于Microwindows(nano x)2410的移植
  5. django 修改mysql_django中怎样修改mysql数据
  6. Ubuntu14.04安装freesurfer
  7. 高等数学18讲(19版)7.11
  8. 18个Python爬虫实战案例(已开源)
  9. TensorFlow 安装chainer,以及conda安装cudatoolkit、cupy
  10. 华为机试2022.4.6:天然货仓