个人博客网:https://wushaopei.github.io/    (你想要这里多有)

目录

一、面向对象的主线

二、面向对象 VS 面向过程

三 、 java最基本的两个要素 - 类和对象

四  、Java类及类的成员

五、面向对象的思想

1、类与对象

2、java类及类的成员

3、类的语法格式

六、面向对象思想落地实现的规则一

八、匿名对象

九、案例实操

利用面向对象的编程方法,设计类Circle计算圆的面积。


一、面向对象的主线

1.java类及类的成员
     2.面向对象的三大特性 : 封装性,继承性,多态性 (抽像性)
     3.关键字 : this super final static ......

二、面向对象 VS 面向过程

面向过程 : 面向过程,强调的是功能行为
      面向对象 : 面向对象,将功能封装进对象,强调具备了功能的对象。
      1.案例  : 人把大象装冰箱
      ①面向过程 : 把冰箱门打开,搬起大象,塞进冰箱,关上冰箱门。
     
      ②面向对象

           人{
打开(冰箱){
冰箱.开开();
}
关闭(冰箱){
冰箱.关门();
}
操作(大象){
大象.进入();
}
}
大象{
进入(){
}
}
冰箱{
开开(){
}
关门(){
}
}

三 、 java最基本的两个要素 - 类和对象

类 : 抽像的概念上的定义。(类似汽车设计图)
            对象 : 具体的实实在在的个体。(类似造好的汽车)对象是由类派生(new)出来的

四  、Java类及类的成员

属性  = field = 成员变量
       行为 = (成员)方法 = 函数

public class OOP {

}

五、面向对象的思想

1、类与对象

2、java类及类的成员

3、类的语法格式

六、面向对象思想落地实现的规则一

1.创建一个类,并提供相应的属性和方法

2.通过该类创建对象.(new 出来的)

3.给对象和属性进行赋值。对象名.属性名 = 属性值。 对象名.方法名()

public class PersonTest {

	public static void main(String[] args) {

		//创建一个人的对象
Person p = new Person(); //int a = 10;String s = "aaa"
//对象名.属性名 = 属性值; 给对象中的属性进行赋值
p.name = "强哥";
p.age = 16; new String();
//获取属性中的值
String n = p.name;
System.out.println(n);
System.out.println(p.age); //调用方法(对象名.方法名)
p.say();
p.run(); System.out.println("-------------创建另一个对象------------"); Person p2 = new Person();
p2.name = "小苍老师";
p2.age = 16; p2.say();
p2.run(); Person p3 = new Person();
Person p4 = new Person(); p3.name = "小泷老师";
p4.name = "小波老师"; Person p5 = p3;
p5.name = "小泽老师"; System.out.println(p3.name);
System.out.println(p3.age);
System.out.println(p4.name);
System.out.println(p4.age);
System.out.println(p5.name);
System.out.println(p5.age); System.out.println("----------------匿名对象-------------------");
//创建了一个匿名对象
//匿名对象往往我们作为实参进行传递
new Person().name = "aaa";
String n2 = new Person().name;
System.out.println(n2);
} /*
* 讲了方法再说
*/
public void say(Person p){ }
} //创建一个类
class Person{ //属性
String name; //成员变量
int age; //方法
public void say(){
System.out.println(name + "说话了么么哒");
} public void run(){
System.out.println(name + "跑起来了");
} }

七、对象的创建与对象的内存解析

八、匿名对象

匿名对象:创建的对象没有赋值给对象的引用

使场景往作为实参进行传递

public class PersonTest {
public static void main(String[] args) {
PersonTest pt = new PersonTest();
pt.show(new Person()); //将匿名对象作为一个实参进行传递
}
public void say(){
show(new Person());
}
public void show(Person p){
}
}
class Person{
}

九、案例实操

利用面向对象的编程方法,设计类Circle计算圆的面积。

package com.atguigu.exer2;

public class CircleTest {

	public static void main(String[] args) {

		Circle c = new Circle();
c.radius = 1; //给属性设值
//ctrl + shift + 回车 向上另起一行写代码
//shift + 回车 向下另起一行写代码
System.out.println(c.findArea()); }
} /*
* 利用面向对象的编程方法,设计类Circle计算圆的面积。
*/
class Circle{ double radius; //半径 public double findArea(){
// return 3.14 * radius * radius;
return Math.PI * radius * radius;
} /*
* 设计的不对 : 在做一些功能运算时,属性的值最好不要作为参数传进来。
*/
/*
public double findArea(double r){
return 3.14 * r * r;
}
public double findZhouChange(double r){
return 3.14 * 2 * r;
}
*/
}

JavaSE (五)面向对象 -- 概述的更多相关文章

  1. Java 面向对象概述原理: 多态、Object类,转型(8)

    Java 面向对象概述原理: 多态.Object类,转型(8) http://docs.oracle.com/javase/tutorial/java/IandI/override.html Java ...

  2. Java之面向对象概述,类,构造方法,static,主方法,对象

    一.面向对象概述 面向过程 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想.这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响 ...

  3. Python入门篇-面向对象概述

    Python入门篇-面向对象概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.语言的分类 面向机器 抽象成机器指令,机器容易理解 代表:汇编语言 面向过程 做一件事情,排出个 ...

  4. 菜鸟笔记 -- Chapter 6.1 面向对象概述

    6.1 面向对象概述 在程序开发的初期人们使用结构化开发语言,但是随着时间的流逝,软件的规模越来越庞大,结构化语言的弊端逐渐暴露出来,开发周期被无限制拖延,产品质量也不尽如人意,人们终于发现结构化语言 ...

  5. c# 第28节 面向对象概述

    本节内容: 1:面向对象概述 2:类与对象的概念 1:面向对象概述 面向对象也称:OOP :object-oriented programming 面向对象的程序设计 面向过程:堆代码,从头开始,自己 ...

  6. Python进阶(十五)----面向对象之~继承(单继承,多继承MRO算法)

    Python进阶(十五)----面向对象之~继承 一丶面向对象的三大特性:封装,继承,多态 二丶什么是继承 # 什么是继承 # b 继承 a ,b是a的子类 派生类 , a是b的超类 基类 父类 # ...

  7. JavaSE(一) 语言概述

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 目录 1 基础常识 2 Java语言版本迭代概述 3 Java语言应用的领域 4 Java语言的特点 5 ...

  8. 09_java之面向对象概述

    01面向对象和面向过程的思想 * A: 面向过程与面向对象都是我们编程中,编写程序的一种思维方式 * a: 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程. * b: ...

  9. Java面向对象概述

    一.什么是面向对象? 现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类.书桌.计算机.高楼大厦等.人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的 ...

随机推荐

  1. 环境篇:Kylin3.0.1集成CDH6.2.0

    环境篇:Kylin3.0.1集成CDH6.2.0 Kylin是什么? Apache Kylin™是一个开源的.分布式的分析型数据仓库,提供Hadoop/Spark 之上的 SQL 查询接口及多维分析( ...

  2. Leetcode_45. 跳跃游戏 II

    每个位置i有一个最大跳跃距离,求最小步数从0跳到n-1. dp[i]表示从0跳到i的最少步数,显然可以转移的状态就是从i-a[i]到i-1. 因为是最小步数,考虑用优先队列优化,再考虑到状态有范围的, ...

  3. 瞬间教你学会使用java中list的retainAll方法

    retainAll方法简介 当我们有两个list集合的时候,我们可以使用retainAll方法求得两个list集合的子集.retainAll是Collection接口中提供的一个方法,各个实现类有自己 ...

  4. Print输出颜色字体方法

    书写格式:     开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m      注意:开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个:另外由于 ...

  5. docer run 、docker attach 与 docker exec的区别

    进入容器的方式有以下三种: 使用ssh登陆进容器 使用nsenter.nsinit等第三方工具 使用Docker本身提供的工具 最佳方案为使用Docker本身提供的工具 docker run:创建和启 ...

  6. vue 细节注意

    *只有vm.$data这些被代理的属性是响应的,能够重新渲染视图 *注意,不要在实例属性或者回调函数中(如 vm.$watch('a', newVal => this.myMethod()))使 ...

  7. 微信小程序入门知识点总结

    微信小程序入门知识点总结 前情介绍 ​ 微信小程序就不多介绍了,我们想要开发微信小程序首先得到微信公众平台 下方的小程序处注册相关账号并登录,接着填写小程序相关资料.在设置处可找到AppID用以开发微 ...

  8. 12.1 Go nsq

    12.1 Go nsq 1.nsq是Go语言编写的,开源的内存分布式消息队列中间件 2.可以大规模的处理每天数以十亿级别的消息 3.分布式和去中心化拓扑结构,无单点故障 4.地址https://git ...

  9. mysql小白系列_08 zabbix添加自定义监控项items和触发器

    监控mysql存活 1.配置agent自定义参数 vi /usr/local/zabbix/etc/zabbix_agentd.conf Include=/usr/local/zabbix/etc/z ...

  10. Vue零基础入门记录

    在2020年这个开局不利的年份毕业,实习工作都很难得.最近来到一家单位,为了减小开支实习生过来了的话前端后端都要写.用Vue和ElementUI做界面.以前的前端vue了解还停留在new一个Vue实例 ...