JavaSE (五)面向对象 -- 概述
个人博客网:https://wushaopei.github.io/ (你想要这里多有)
目录
一、面向对象的主线
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 (五)面向对象 -- 概述的更多相关文章
- Java 面向对象概述原理: 多态、Object类,转型(8)
		Java 面向对象概述原理: 多态.Object类,转型(8) http://docs.oracle.com/javase/tutorial/java/IandI/override.html Java ... 
- Java之面向对象概述,类,构造方法,static,主方法,对象
		一.面向对象概述 面向过程 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想.这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响 ... 
- Python入门篇-面向对象概述
		Python入门篇-面向对象概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.语言的分类 面向机器 抽象成机器指令,机器容易理解 代表:汇编语言 面向过程 做一件事情,排出个 ... 
- 菜鸟笔记 -- Chapter 6.1 面向对象概述
		6.1 面向对象概述 在程序开发的初期人们使用结构化开发语言,但是随着时间的流逝,软件的规模越来越庞大,结构化语言的弊端逐渐暴露出来,开发周期被无限制拖延,产品质量也不尽如人意,人们终于发现结构化语言 ... 
- c# 第28节 面向对象概述
		本节内容: 1:面向对象概述 2:类与对象的概念 1:面向对象概述 面向对象也称:OOP :object-oriented programming 面向对象的程序设计 面向过程:堆代码,从头开始,自己 ... 
- Python进阶(十五)----面向对象之~继承(单继承,多继承MRO算法)
		Python进阶(十五)----面向对象之~继承 一丶面向对象的三大特性:封装,继承,多态 二丶什么是继承 # 什么是继承 # b 继承 a ,b是a的子类 派生类 , a是b的超类 基类 父类 # ... 
- JavaSE(一) 语言概述
		个人博客网:https://wushaopei.github.io/ (你想要这里多有) 目录 1 基础常识 2 Java语言版本迭代概述 3 Java语言应用的领域 4 Java语言的特点 5 ... 
- 09_java之面向对象概述
		01面向对象和面向过程的思想 * A: 面向过程与面向对象都是我们编程中,编写程序的一种思维方式 * a: 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程. * b: ... 
- Java面向对象概述
		一.什么是面向对象? 现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类.书桌.计算机.高楼大厦等.人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的 ... 
随机推荐
- Spring Cloud学习 之 Spring Cloud Hystrix(基础知识铺垫)
			Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 文章目录 前述: 快速入门: 命令模式: RxJava: 前述:  在微服务架构中, ... 
- IO 模型知多少 | 代码篇
			引言 之前的一篇介绍IO 模型的文章IO 模型知多少 | 理论篇 比较偏理论,很多同学反应不是很好理解.这一篇咱们换一个角度,从代码角度来分析一下. socket 编程基础 开始之前,我们先来梳理一下 ... 
- JDBC01 mysql和navicat的安装
			navicat的安装 从网上下载的,详细过程,略 mysql8.0.11(win10,64)安装 1.下载 MySQL8.0 For Windows zip包下载地址:https://dev.mysq ... 
- [hdu5521 Meeting]最短路
			题意:有N个点,给定M个集合,集合Si里面的点两两之间的距离都为Ti,集合里面的所有点数之和<=1e6.有两个人分别在1和N处,求1个点使得两个人到这一点距离的最大值最小 思路:这题是裸的最短路 ... 
- 800+Java后端经典面试题,希望你找到自己理想的Offer呀~
			前言 在茫茫的互联网海洋中寻寻觅觅,我收藏了800+道Java经典面试题,分享给你们.建议大家收藏起来,在茶余饭后拿出来读一读,以备未雨绸缪之需.另外,面试题答案的话,我打算后面慢慢完善在github ... 
- void 型指针的高阶用法,你掌握了吗?
			[导读] 要比较灵活的使用C语言实现一些高层级的框架时,需要掌握一些进阶编程技巧,这篇来谈谈void指针的一些妙用.测试环境采用 IAR for ARM 8.40.1 什么是void指针 void指针 ... 
- onmouseenter,onmouseleave,onmouseover,onmouseout的区别
			首先,这四个事件两两配对使用,onmouseenter.onmouseleave一对,onmouseover.onmouseout一对,不能混合使用. onmouseenter 和 onmousele ... 
- C# Sign In With Apple苹果登陆后端验证
			苹果App授权登录 苹果官方的授权文档: 生成Token:https://developer.apple.com/documentation/sign_in_with_apple/generate_a ... 
- Django路由配置之子路由include(URL分发)
			子路由include(URL分发) 在一个项目中可能存在多个应用,为了方便区分和管理,在项目的总路由urls.py中会进行路由分发: (1)项目总路由导入from django.conf.urls ... 
- Hbase javaAPI报错:Callexception,tries=10,retries=35,started=38465msago
			[client.RpcRetryingCaller(142)]Callexception,tries=10,retries=35,started=38465msago,cancelled=false, ... 
