对于很多学习Java的小伙伴来说,面向对象这步是个坎儿,虽然简单但是不容易理解。其实刚开始的时候并没有面向对象这个概念,大家知道的都是面向过程, 面向过程比较好理解,程序员接到指令,按照步骤一步一步拆分成命令,然后连起来交给计算机去执行。而面向对象则避开了面向过程的一些弊端,即是对事物的一种描述。
- 面向对象
OOP面向对象编程。Java中万物皆对象。
做一个需求的时候,我们会抽取出来几种事物(类),每一种事物(类)都有共同的行为和属性。
- 范例:把大象放入冰箱
冰箱
属性
行为:开门,关门
大象
属性
行为:走路
范例:下五子棋
棋子
- 创建一个冰箱
- 这个冰箱开门
- 创建一个大象
- 这个大象走进去
- 这个冰箱关门
属性:颜色
行为:走棋
棋盘
行为:绘制
规则
行为:判断输赢
- 创建一个黑色棋子
- 这个黑色的棋子走棋
- 创建棋盘
- 棋盘绘制图案
- 创建一个规则
- 判断输赢
- 创建一个白色棋子
- 这个白色的棋子走棋
- 棋盘绘制新的图案
- 判断输赢
面向对象是以功能和属性来划分,而不是步骤。
编程就是模拟现实生活,我们使用面向对象的思想可以认为“万物皆对象”。
- 类的定义
- 类的概念
我们把某些具有相同的属性和行为的事物抽象成一类。
狗(类)
属性:颜色,品种,体重
行为:吃,睡,看家
学生(类)
属性:学好,名字,年龄
行为:学习,上课
-
- 对象的概念
类是一个概念,对象是一个具体的实例。
类:狗
对象:正在马路边撒尿的那个旺财。
类 |
对象 |
老师 |
亮哥, 苍老师 |
学生 |
Xxx中学一年二班的张三,李四,王五 |
-
- 类的语法
定义类的语法:
class 类名{
属性
方法
}
类名:首字母大写的驼峰模式XxxYyy,例如class Teacher{ }, class Student{ }
class SchoolMaster{}, 类名要见名之意。
创建类的时候要注意:
1.类名的和文件名没有任何关系,前提是class类前面不要加pubic,如果加上public代表这个类是主类。
2. 如果在定义类的时候public class Teacher{} 这个类就是主类。一个java文件中只能有一个主类。而且这个文件名字必须要和主类名字一致。
- 类里面的属性
属性就是这个类公有特征,用变量的定义的方式来表示,可以没有初始值,jvm给属性默认值。
属性的默认值
数据类型 |
默认值 |
byte |
0 |
short |
0 |
int |
0 |
long |
0 |
float |
0.0 |
double |
0.0 |
boolean |
false |
char |
‘ ’ |
引用数据类型 |
null |
class Dog{
/*
名字, 公母, 品种
*/
String name;
/**
1.公, 2.母
*/
int gender;
/**
属性
*/
String type;
/**
体重
*/
double weight;
/**
定义了两个行为
*/
public void sleep(){
System.out.println("狗狗在睡觉");
}
public void lookHome(){
System.out.println("狗狗在看家");
}
}
public class TestDog{
public static void main(String[] args){
}
}
- 5.类的方法
类的行为用函数
public <static> 返回值类型 方法名(数据类型 参数名, 数据类型 参数名…..){
//方法体
return 返回值;
}
class Dog{
/*
名字, 公母, 品种
*/
String name;
/**
1.公, 2.母
*/
int gender;
/**
属性
*/
String type;
/**
体重
*/
double weight;
/**
定义了两个行为
*/
public void sleep(){
System.out.println("狗狗在睡觉");
}
public void lookHome(){
System.out.println("狗狗在看家");
}
}
public class TestDog{
public static void main(String[] args){
}
}
更多java学习内容尽在java视频教程
https://ke.qq.com/course/149432?tuin=57912c43
java零基础体系化入门知识学习,加老师微信领取java教程全套学习资料