一、面向对象与面向过程的区别:
①所处的角色不同:前者指挥者,后者执行者;②所需知道的事情不同:前者知道哪些是做这些事情的人就可以,不需了解具体的事情操作的过程。后者需要具备应有的技能来做这些事情。
二、面向对象的基本操作过程
指挥者采用面向对象思想,通过创建类,来创建统一的属性值【成员属性】和(做事的)方法【成员方法】。
通过创建的类或者jdk已有的类,来创建具体的对象,属性值明确,方法明确。
举例:创建类

 package com.oracle.demo02;

 public class Person {
private String name;// 此时外部的类不能访问
private int age;// 隐藏实现细节
// 使用方法,提供接口进来的值 属性都私有化,并提供setXxx getXxx方法对其进行访问。 public void setName(String name) {
this.name = name;
} // 使用取值、、用于给出用户反馈
/*
* public String getName(){ return name; }
*/
public void setAge(int a) {
if (a >= 0 && a < 149) {
age = a;
} else {
System.out.println("该年龄不可信");
} } public int getAge() {
System.out.println("get");
return age;
} public void speak() {// 方法可以被外界访问
// name.age此时为成员变量,非局部变量
System.out.println("我的名字是" + name + "今年" + age + "岁。");
} // 在person类中定义功能,判断两个人是否同龄人
public boolean people(Person p) {
return p.age==this.age;//此时的this,指的是谁调用该方法就是谁
//传入两个,一个通过调用传入,一个通过形参传入
}
}

举例:创建对象及方法的调用

 package com.oracle.demo02;

 public class Demo01 {
public static void main(String[] args) {
Person p = new Person();
p.setName("张三");
p.setAge(35);
p.speak();
Person p2 = new Person();
p2.setName("xiao张三");
p2.setAge(35);
p2.speak();
//比较两人是否为同龄人
boolean flag=p2.people(p);
System.out.println(flag);
}
}
1、创建冰箱的对象
冰箱 bx = new 冰箱();  
2、调用冰箱的功能
对象.功能();
bx.打开();
bx.存储(new 大象());
bx.关闭();
public class 类名 {
//可编写0至n个属性 成员变量
    数据类型 变量名1;
    数据类型 变量名2;
//可编写0至n个方法 成员方法
修饰符 返回值类型 方法名(参数){
执行语句;
}
}

注:此时的成员方法的修饰符为public,而在测试类main中修饰符为public static

三、对象调用方法内存图

 
四、类和对象的区别
前提:面向对象的思想力求在设计类的时候,其成员属性和成员方法与现实要求一致。
区别
对象
关系
抽象的,比如人类的皮肤属性,未有具体的值
具体的,通过类,new一个新的对象,给皮肤属性赋值(黑、白、黄)
五、局部变量和成员变量的区别
区别
成员变量
局部变量
写法位置
直接定义在类中
定义在方法或{}语句中
内存位置
在堆中保存,具有地址
在栈中保存
生命周期
随着对象的出现而出现,使用gc()垃圾回收机制清除
随着方法的出现而出现,随着方法的消失而消失
初始化值
成员变量出现在堆中,属性有默认值;例如int 0;Boolean FALSE;String null;
局部变量出现在栈中,必须人为赋值才能使用
 
六、基本数据类型和引用数据类型的参数传递
区别
基本数据类型
引用数据类型
 
传递的具体的值,在栈中存在,方法用完执行弹栈
传递地址,在堆中存在,方法和main中均指向同一个地址和对象
 

java面向对象基础知识的更多相关文章

  1. Java面向对象基础知识汇总

    OOP:Orient Object Programe AOP:Aspect Orient Programe 封装:Encapsulation 继承:Inheritance 多态:Polymorphmi ...

  2. Java 多线程——基础知识

    java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...

  3. 【重走Android之路】【Java面向对象基础(三)】面向对象思想

    [重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想   1 面向对象的WWH   1.1 What--什么是面向对象         首先,要理解“对象”.在Thinkin ...

  4. 【重走Android之路】【Java面向对象基础(一)】数据类型与运算符

    [重走Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符   1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数 ...

  5. JAVA相关基础知识

    JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...

  6. 076 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 01 Java面向对象导学

    076 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 01 Java面向对象导学 本文知识点:Java面向对象导学 说明:因为时间紧张,本人 ...

  7. 【重走Android之路】【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

    [重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder   1.String String是Java中的一个final ...

  8. java必备基础知识(一)

    学习的一点建议: 每一门语言的学习都要从基础知识开始,学习是一个过程,"万丈高楼平地起",没有一个好的地基,想必再豪华的高楼大厦终究有一天会倒塌.因此,我们学习知识也要打牢根基,厚 ...

  9. Python 面向对象基础知识

    面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...

随机推荐

  1. 导入maven项目pom报错

    打开window->preferences->maven->user settings更换settings.xml即可

  2. 后台服务器框架中的瑞士军刀——MCP

    上篇介绍了一个简单的UDP服务框架,但是面对海量的请求,同步框架显然有点力不从心.于是在我接手好友系统的接口服务的时候,就采用了一个强大的异步框架——MCP框架. MCP框架是一个多进程异步框架,支持 ...

  3. 力扣(LeetCode)亲密字符串 个人题解

    给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true :否则返回 false . 示例 1: 输入: A = "ab& ...

  4. opencv随笔1

    图像处理技术一般包括图像压缩,增强和复原,匹配 描述和l识别 3 个部分. 图像处理一般指数字图像处理 ( Digitallmage Processing). 其中,数字图像是指用工业相机.摄像机.扫 ...

  5. SQL Server Management Studio 安装流程

    数据库的操作需要使用SQL Server Management Studio,不过也可以使用其他的: 下面是安装操作的步骤:如果你下载的压缩包,你需要先解压到一个文件夹里,然后双击setup.exe, ...

  6. 2019-10-16,sudo提权漏洞(CVE-2019-14287)实现

    sudo是linux系统命令,让普通账号以root身份执行某些命令,比如,安装软件,查看某些配置文件,关机,重启等,如果普通用户需要使用sudo需要修改配置文件,/etc/sudoers,将sudo使 ...

  7. cookies与session简介

    一.session和cookie 简单来讲cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于采用服务器端保持状态的方案在客户端 ...

  8. Linux目录结构-中部

    第1章 /proc目录下 1.1 /proc/cpuinfo 系统cpu信息 [root@nfsnobody ~]# cat /proc/cpuinfo                  一般常用的是 ...

  9. django-migrate一败再败

    python3 manage.py makemigrations # 生成数据库迁移文件 python3 manage.py migrate # 迁移数据库 简简单单两条命令就完成了django的数据 ...

  10. shell 点命令和source指令

    1 shell脚本执行方法 有两种方法执行shell scripts,一种是新产生一个shell,然后执行相应的shell scripts:一种是在当前shell下执行,不再启用其他shell.新产生 ...