Java基础-面向对象思想
来源:互联网 发布:语音输入法软件下载 编辑:程序博客网 时间:2024/05/17 08:04
面向对象的思想,是学习Java的核心。说起面向对象,类、对象,增强了代码的复用性,灵活性,好处一堆一堆的。类、对象被我们提了一遍一遍又一遍,这里就不再详细介绍。简单的说对象就是类的一个实例化。
变量类型:局部变量和成员变量
局部变量是写在方法里面,只供方法个人使用。成员变量在写在方法外面,在类里面的。成员变量如果不对其进行初始化,Java默认对其初始化为0.
<span style="font-size:18px;">public class Cap{ int Color; //成员变量 void Catch(){ int height; //局部变量 }}</span>
继承
简单声明方式
<span style="font-size:18px;">class SuperClass{}class subClass extends SuperClass{ //使用extends关键字 }</span>
Super关键字:
在改写父类方法的时候,想保留父类的方法,但是又不想将父类的方法重新写一遍那么可以用super。
this关键字
this关键字,我们在看的时候回很困惑,不知道this指的是哪个。经常看到的是this.i=i; this本身指的是对象,this.i是一个成员变量(指的是方法外面类里面声明的变量)。指向的是所在的类本身。
equals关键字
equals是Object中的一个方法,是比较对象是否相同的,相当于(==)。但是equals实际上只能比较两个对象的引用是否相同,而不能比较两个的 内容是否相同,所以需要我们重写equals方法,利用 1对象.内容==2对象.内容来实现,两个对象内容的比较。
public boolean equals(Object obj) {if(obj == null) return false; else { if(obj instanceof Cat) {Cat c = (Cat)obj;if(c.color == this.color && c.height == this.height && c.weight == this.weight) {return true;}}}return false;}
构造方法
实例化中的构造方法
构造方法也就是使用new构造方法,创建一个新对象。在实例化一个对象的时候,也就是new一个东西的时候,实际上调用的是一个构造方法。构造函数实际上是一个用来初始化对象的函数,构造函数与类名相同并且没有返回值。
形式如下:
<span style="font-size:18px;">public class 类名{ int age; int id; 类名(int n,int i){ id=n; age=i; } }</span>
继承中的构造方法
子类的构造过程必须调用其基类的构造方法,子类可以在以自己的构造方法中使用Super来引用基类的构造方法。
重载
重载是指一个类中,定义相同的名字,相同的返回类型,但是参数不同的多个方法。
void info(){ System.out.println("没有参数");}void info(String s){ System.out.println("有一个参数");}
重写
重写简单的来说就是父类中定义了一个方法,子类想对这个方法进行修、添加一些自己的扩展功能,就可以对该方法进行重写。在接口中,只能定义方法,而不能写方法的具体实现,是对方法进行重写的一个重要体现。
面向对象是java的核心内容,在面向对象语言中类、接口是常见的。重写、重载等方法也就很基础,打好基础是我们学习后面内容的一个铺垫。
- Java基础-面向对象思想
- JAVA基础-面向对象思想
- Java基础与面向对象思想
- Java基础_面向对象思想
- java基础要点(4)面向对象思想
- Java基础之面向对象思想
- Java基础之面向对象思想
- JAVA基础(二)面向对象思想
- Java基础--------面向对象思想(1)
- java面向对象思想
- JAVA面向对象思想
- JAVA面向对象思想
- JAVA面向对象思想
- java 面向对象思想
- java面向对象思想
- java面向对象思想
- Java面向对象思想
- Java面向对象思想
- Codevs 1835 魔法猪学院 (spfa求K短路) SDOI
- hdu 5873 思维题
- Appium输入中文的问题
- 利用协方差矩阵特征向量创建坐标系
- 明日大哲的第一篇博客
- Java基础-面向对象思想
- Opencv中jpeg编码完整流程分析
- Linear Least Squares 的多项式表达和矩阵表达 与 Python 实现
- Search Insert Position_Leetcode_35
- hdu5873 Football Games(模拟)
- linux服务器rz命令上传文件
- (五)ArcGIS Server之发布网络分析服务
- 对操作系统的一般理解
- HTML5 基础(003_Indexed Database_2)