1.面向对象✨作者:@小孙的代码分享
✨专栏:《Java SE》
✨送给各位的一句话:空杯心态 才能学到新知
✨希望大家看完博客可以有所收获,别忘了,点赞+评论!
我们开始学习编程遇到了许多语言,对于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 |
首先我们进行定义一个日期类:
属性:
方法:
因为形参名可能会与成员变量同名导致输出结果为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表示普通方法,就不是构造方法了。
当一个类中没有提供任何构造方法,系统默认提供一个无参数的构造方法。
当一个类中手动的提供了构造方法,那么系统将不再默认提供无参数构造方法。(救穷不救急)
今天的复习总结就先到这,对于类和对象这块的内容我会持续的更新复习总结,如果大家觉得小孙总结的还不错,给小孙鼓励一下 😄
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)