今日内容介绍
1、面向对象思想
2、类与对象的二者关系
3、局部变量和成员变量之间的关系
4、封装的思想
5、private,this关键字的用途
6、案例

01面向对象和面向过程的思想
* A: 面向过程与面向对象都是我们编程中,编写程序的一种思维方式
* a: 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程。
* b: 面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”,然后那个“谁”就是对象,他要怎么做这件事是他自己的事,反正最后一群对象合力能把事就好就行了。

02面向对象的思想的生活案例
* A: 买电脑(组装机)
* a: 面向过程:自己该怎么做
* b: 面向对象:找人帮我们做

03面向对象好处
* A: 面向对象好处
* a: 面向对象思维方式是一种更符合人们思考习惯的思想
* b: 面向过程思维方式中更多的体现的是执行者(自己做事情),面向对象中更多的体现是指挥者(指挥对象做事情)。
* c: 面向对象思维方式将复杂的问题简单化。

成员变量和局部变量的区别(有可能面试题)
* 区别一:定义的位置不同
* 定义在类中的变量是成员变量
* 定义在方法中或者{}语句里面的变量是局部变量
* 区别二:在内存中的位置不同
* 成员变量存储在对内存的对象中
* 局部变量存储在栈内存的方法中
* 区别三:声明周期不同
* 成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失
* 局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失
* 区别四:初始化不同
* 成员变量因为在堆内存中,所有默认的初始化值
* 局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。

public class Person {
private String name;
private int age;

// set方法,变量name,age赋值
public void setAge(int age) {
this.age = age;
}

public void setName(String name) {
this.name = name;
}

// get方法,变量name,age获取值
public int getAge() {
return age;
}

public String getName() {
return name;
}

public void speak() {
String name = "李俊";
int age = 36;

System.out.println("人在说话 " + this.name + "..." + this.age);
}
}
* 标准测试代码
package cn.itcast.demo05;

public class PersonTest {
public static void main(String[] args) {
Person p = new Person();
//调用set方法,对成员变量赋值
p.setAge(18);
p.setName("俊哥");
p.speak();

//调用get方法,获取成员变量的值
// System.out.println(p.getName());
// System.out.println(p.getAge());
}
}

java全栈day08--面向对象的更多相关文章

  1. JAVA全栈工程师应具备怎样的知识体系?

    Java是超高人气编程语言,拥有跨平台.面向对象.泛型编程等特性.在TIOBE编程语言排行榜中,连续夺得第一宝座,而且国内各大知名互联网公司,后端开发首选语言:非Java莫属. 今天是针对各类目有更详 ...

  2. 2019 Java 全栈工程师进阶路线图,一定要收藏

    技术更新日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点松哥是深有体会的. 我刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,我相信这也是很多初学者经常面 ...

  3. 2019年java全栈工程师学习大全

    技术更新日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点我是深有体会的. 我刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,我相信这也是很多初学者经常面临 ...

  4. Java全栈学习路线、学习资源和面试题一条龙

    肝了一个月,终于把Java学习路线.面试题资源和电子书资源都整理好了. Java 从基础到微服务的学习路线,其中还包括科班知识.学习建议.后续的学习引导和相应的学习资源(视频.书籍.网站),还整理了J ...

  5. Ninja:Java全栈Web开发框架-Ninja中文网

    相信不少业界人士都还停留在SSh的时代 其实我想给大家推荐的一个轻量级框架那就是Ninja; Ninja是一个Java全栈Web开发框架,稳定.快速.非常高效. 商业价值 在你的下一个项目中,Ninj ...

  6. java全栈day04--方法

    day04内容介绍 1  方法基础知识 2  方法高级内容 3  方法案例 一  方法的概念 A:为什么要有方法 提高代码的复用性 B   什么是方法 完成特定功能的代码块 修饰符  返回值类型  方 ...

  7. Java全栈工程师知识体系介绍

    Java全栈工程师,是指掌握多种技能,并能利用多种技能独立完成产品的人,也叫全端工程师(同时具备前端和后台能力),英文Full Stack developer. 那么想要成为一名合格的Java全栈工程 ...

  8. Java 全栈知识体系 - 个人博客

    摘自:https://www.pdai.tech/ 著作权归https://www.pdai.tech所有. 链接:https://www.pdai.tech/ Java 全栈知识体系 包含: Jav ...

  9. java全栈商业小程序开发

    此次开发只为学习和巩固,第一次学习开发 一.开发前需要了解: 开发框架MVVM.痛点.开源工具.VUE前端框架.微信支付模块.uni-app前端框架.小程序申请.开发工具下载.编写测试小程序.小程序结 ...

  10. Java全栈,MySQL搞透,架构手到擒来,还有面试官搞不定?

    五月最后一天啦,时间过得真快,做技术的难免做了几年就感觉很迷茫,那就需要多读点书,多学点技术才能有安全感. 栈长之前推荐过不少极客时间的课程,几乎每周都推荐一个,很多朋友评论说,课程太多学不过来,今天 ...

随机推荐

  1. 19年博客flag

    目录 为什么没有年终总结 为什么今天更新了 19年博客flag 个人博客链接:我在马路边 https://hhongwen.cn 更好的阅读体验点击查看原文:19年博客flag 原创博客,转载请注明出 ...

  2. lower_bound()函数与quicksort()函数的简单掌握

    lower_bound 这个序列中可能会有很多重复的元素,也可能所有的元素都相同,为了充分考虑这种边界条件,STL中的lower_bound算法总体上是才用了二分查找的方法,但是由于是查找序列中的第一 ...

  3. python模型字段

    http://python.usyiyi.cn/translate/django_182/ref/models/fields.html#model-field-types

  4. shell split函数的使用

    #!/bin/awk -f BEGIN{FS=","} {split($1,name," "); for (i in name) print name[i] }

  5. HttpContext是干什么的

    这是MSDN对HttpContext的说明:        HttpContext 类:封装有关个别 HTTP 请求的所有 HTTP 特定的信息. (网上说是上下文信息,啥又叫上下文呢?个人感觉说的不 ...

  6. C# 使用API检查域用户名和密码是否正确

    添加引用: using System.Runtime.InteropServices; public class VerifyUserByDomain { ; ; ); [DllImport(&quo ...

  7. TexStudio 非常好用的Latex软件

    先大概写一下,免得忘了,等有时间详细补充. 跨平台.免费. 语法高亮 方便的公式.符号选择界面 可以配置Latex,pdflatex,xelatex等默认编译命令 集成了pdf阅读器,可在阅读器中浏览 ...

  8. 全球知名的HTTPS网站检测工具-Qualys SSL Labs

    推荐一个在线版全球知名的HTTPS网站检测工具-Qualys SSL Labs.Qualys SSL Labs同时也是很具有影响力的SSL安全和性能研究机构. SSL Labs会对HTTPS网站的证书 ...

  9. Linux查看物理CPU个数、核数,逻辑CPU个数

    学习swoole的时候,建议开启的worker进程数为cpu核数的1-4倍.于是就学习怎么查看CPU核数 # 查看物理CPU个数 cat /proc/cpuinfo| grep "physi ...

  10. extjs控制器调用其他视图的函数实现控件赋值。