Java基础---面向对象(1)

Java基础——面向对象

1.什么是面向对象

面向对象是基于面向过程的编程思想。

(1).面向过程:
面向过程强调的是每一个功能的步骤,强调的是如何实现的步骤。

(2).面向对象:
面向对象强调的是对象,然后由对象去掉用功能,强调的是做这一个事情的结果。

2.面向对象的思想特点

(1).是一种更加符合我们思想习惯的逻辑。
(2).可以将复杂的事情简单化
(3).将我们从执行者变成了指挥者。

3.面向对象举例
我们一洗衣服为例:

面向过程的实施步骤:
找出脏衣服--->放入盆中---->放入洗衣粉--->泡一会--->搓衣服,把脏的地方搓干净--->拧干---->晾起来

面向对象的实施过程:
找出脏衣服--->放入洗衣机中---->加水--->拧干---->晾起来

我们可以看出洗衣机就是我们洗衣服这一个过程中的一个对象,这个对象具有面向过程中一些具体步骤的功能。

4.面向对象的开发、设计、特征

(1).面向对象开发
就是不断的创建对象,使用对象,指挥对象做事情。

(2).面向对象设计
其实就是在管理和维护对象之间的关系。

(3).面向对象特征
封装
继承
多态

5.类和对象的概述

(1).现实世界中是如何描述一个事务呢?
如描述学生:
基本属性:姓名,年龄,性别,身高,体重
基本行为:吃饭,睡觉,学习,玩耍,谈恋爱

(2).程序中描述一个事务
在java语言中,最基本的描述单位是类,我们用类和现实世界中的事物对应起关系来;
就是学生类,基本属性使用的是该类的成员变量,基本行为就是用该类的成员方法。

(3).代码实现

学生类定义:

现实中学生事务:
基本属性:姓名,年龄,性别,身高,体重
基本行为:吃饭,睡觉,学习,玩耍,谈恋爱
程序中表述:
成员变量:姓名,年龄,性别,身高,体重
成员方法:吃饭,睡觉,学习,玩耍,谈恋爱

代码:
public class Student {
//姓名
private String name;
//性别
private String sex;
//年龄
private int age;
//身高
private double hight;
//体重
private double weight;

//定义吃饭方法
public void eat(String name) {
System.out.println(name+":这是吃饭的方法");
}

//定义睡觉方法
public void sleep(String name){
System.out.println(name+":这是睡觉的方法");
}

//定义玩耍的方法
public void play(String name){
System.out.println(name+":这是玩耍的方法");
}

//定义学习 的方法
public void study(String name){
System.out.println(name+":这是学习的方法");
}
}

(4).对象
A:什么是对象
对象就是一个实际具体的可以用的类,也就是说我们定义了一个学生对象,但是仅仅只是定义了一个虚构的,我们要把他变为现实的可用的,如定义一个小明学生对象,小明就是一个具体的,可以使用的
而小明具备这一个学生的所有特征,有姓名,年龄,性别,身高,体重,同时也能够:吃饭,睡觉,学习,玩耍,谈恋爱。

B:如何创建一个对象
类名 对象名=new 类名();

C:对象是如何使用类的:
public static void main(String[] args) {
Student st =new Student();
st.age=20;
st.hight=1.75;
st.sex="男";
st.weight=50;
st.name="小明";
st.eat("小明");
st.sleep("小明");
st.play("小明");
st.study("小明");
System.out.println(st.name+"--"+st.age+"--"+st.hight+"--"+st.sex+"--"+st.weight);
}

//输出结果
小明:这是吃饭的方法
小明:这是睡觉的方法
小明:这是玩耍的方法
小明:这是学习的方法
小明--20--1.75--男--50.0

6.成员变量和局部变量

(1).为什么会出现俩种不同的变量
我们在实际的使用中,我们需要一个变量的作用范围和使用的时候的具体操作不一样,所以才出现俩种不同的变量。

(2).区别

A:在类中的位置不同
成员变量:在方法外
局部变量:在方法定义中或者是方法申明上。

B:在内存中的位置不同
成员变量:在堆内存中
局部变量:在栈内存中

C:生命周期不一样
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而调用,随着方法调用完毕而消失

D:初始化值不一样
成员变量:有默认的初始化值
局部变量:没有默认的初始化值,必须要定义,赋值,然后才可以使用。

注意事项:
局部变量名称可和成员变量名称一样,在方法中使用的时候,采用的是就近原则(使用的时候哪一种变量最近就是使用那一种变量)。

(3).代码实现
public class Test {
//定义成员变量
int a=10;

public static void show(int a){
System.out.println("就近原则测试:"+a);
}

public void showValues(){
//定义局部变量
int num=120;
//局部变量没有初始化不能使用,报错提示
//int num1;
//System.out.println("局部变量使用测试:"+num1);
System.out.println("局部变量使用测试:"+num);
}

//测试
public static void main(String[] args) {
Test ts =new Test();
ts.showValues();
show(20);
}
}

//输出结果
局部变量使用测试:120
就近原则测试:20

原文地址:https://www.cnblogs.com/nwxayyf/p/9451504.html

时间: 2024-10-12 21:34:53

Java基础---面向对象(1)的相关文章

Java基础——面向对象练习题

1.建立一个图形接口,声明一个面积函数.计算圆形和矩形的面积.注:体现面向对象的特征,对象值进行判断,用异常处理.不合法的数值需要出现"这个数值是非法的提示",不再进行运算. 2.在一个类中编写一个方法,这个方法搜索一个字符数组是否存在某个字符.如果存在则返回这个字符在数组中第一次出现的位置,否则返回-1.需要搜索的字符数组和字符都一参数的形式传递给该方法.如果传入的数组为NULL,则应该抛出IllegalArgumentException异常. 3.补充compare函数代码. 4.

java基础面向对象之封装

java基础面向对象之封装 2017-01-15 封装 1)封装性就是保证类内部被外部类不可见 2)所有属性都必须使用private关键字声明 3)封转后的属性如果要被外部所访问就必须实现set和get方法 例如: 使用了private声明的属性只有在自己的类是可见的 1 class Book{ 2 private String title ; //使用private声明的属性 3 private int price ; 4 } 5 public class PrivateDemo1 { 6 p

java基础面向对象之类与对象

java基础面向对象之类与对象 2017-01-14 1.面向对象的基本概念 以一种组建化的形式进行代码设计 1)在面向对象程序设计中包含有如下几种特性 ?封装性:保护内部结构的安全性 ?继承性:在已有的程序结构上扩充新的功能 ?多态性:在某一个该娘范围内满足 2)面向对象开发分为以下几个步骤: OOA(面向对象分析) OOD(面向对象设计) OOP(面向对象编程) 2.类与对象 1)了解类与对象的关系 ?认识类与对象 类与对象是整个面向对象之中最基础的组成单元,类是共性的一个集合,而对象是某一

java基础面向对象之this关键字

java基础面向对象之this关键字 2017-02-14 this的核心概念: this关键字在java中表示当前对象. this关键字的主要用法: 在java中利用this关键字可以实现类属性的调用,类方法的调用,当前对象. 一.调用属性 1 class Book{ //Book类 2 private String title ; //title属性 3 private int price ; //price属性 4 5 public Book(String t , int p){ 6 ti

Java基础---面向对象(2)

Java基础-面向对象(封装概述) 1.面向对象封装的基本概述和使用 (1).什么是封装的思想 定义一个基本的student类: 成员变量:name,age 成员方法:show()方法 测试类: StudentDemo 创建student对象,并使用里面的方法 我们在定义这一个案例的过程中,我们发现一个问题: 通过对象去给成员变量赋值,可以赋值一些非法的数据,如年龄我们定义的是int类型,也就是说我们赋值200也是合理的,但是在实际当中,这一个是不合理的,我们应该需要做一个限制,应该是 这样子,

Java基础面向对象

Java基础第七天 面向对象思想 类与对象及其使用 对象的内存图 成员变量和局部变量的区别 匿名对象 封装(private) this关键字 构造方法 static关键字 面向对象思想引入 前面我们讲过数组,当有多个数组都需要遍历时,我们可以将遍历的代码封装到方法中,需要遍历时,就调用相应的方法即可,提高代码的复用性.在对数组遍历的基础上继续增加需求,比如获取最值,数值逆序等,同样需要将这些功能封装到相应的方法中.这样继续封装会发现方法越来越多,于是就想能不能将这些方法继续进行封装呢?通过前面的

JAVA基础——面向对象三大特性:封装、继承、多态

JAVA面向对象三大特性详解 一.封装 1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: 只能通过规定的方法访问数据.     隐藏类的实例细节,方便修改和实现. 3.封装的实现步骤 需要注意:对封装的属性不一定要通过get/set方法,其他方法也可以对封装的属性进行操作.当然最好使用get/set方法,比较标准. A.访问修饰符 从表格可以看出从上到下封装性越来越差. B.this关键字 1.this关键字代表当前

Java基础--面向对象

------- android培训.java培训.期待与您交流! ---------- 面向对象 是一种思想,把复杂事物简单化,把面向过程的执行者变成了指挥者.过程其实就是函数,而对象将函数和一些内容封装.把事物的属性和行为封装成对象,再把对象抽象成类. Java 面向对象的三个特征:封装.继承.多态 类 是一组事物共有特征和功能的描述.是按照面向对象技术进行设计时最小的单位,也是组成项目的最基本的模块.类的概念是抽象的,类似于建筑设计中的图纸,是对于现实需要代表的具体内容的抽象.类只包含框架结

黑马程序员——Java基础---面向对象之继承

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流!                                                                 面向对象之继承  一:继承(extends) (1)继承的体系结构:就是对要描述的事物进行不断的向上抽取,就出现了体系结构.