1, 什么是面向对象, 什么是面向过程 ?

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。

2,类, 对象, 成员变量(属性,静态属性), 成员方法(方法, 动态属性), 局部变量分别的含义 ?类变量(也叫静态变量):是类中独立于方法之外的变量,用static 修饰。(static表示“全局的”、“静态的”,用来修饰成员变量和成员方法,或静态代码块(静态代码块独立于类成员,jvm加载类时会执行静态代码块,每个代码块只执行一次,按顺序执行))。

3, 面向对象的特点有什么 ?
   封装
    private(public)
   继承

多态

4, 如何在程序中创建一个对象 ?(首先要定义一个类)
类名 变量名 = new 类名();

类体
成员变量的作用范围(整个类)

类和类之间的关系
关联关系(不好下一个定义描述关联关系, 比较弱的关系)
一个类中的某个方法的参数是另一个类的对象
一个类中的成员变量是另一个类的对象
*继承关系(extends关键字)
什么是一种什么
运动员
篮球运动员
足球运动员
聚合关系
聚集
球队->队长
组合
一个类的组成部分是必不可少的
*实现关系(接口)(实现关系是一种特殊的继承关系)
机器人:


5, 成员变量在类中是如何初始化的 ?
byte 0
short 0
int 0
long 0L
float 0.0F
double 0.0D
boolean false
char '/u0000'
引用类型 null
(所有的类, 所有的接口, 所有的数组)

6, 如何更好的设计一个类 ?
合适的方法出现在合适的类里面
7, 什么是类的封装 ?
private关键字修饰的成员变量, 只能在当前类中使用
8, 什么叫构造方法 ? 构造方法的重载 ? // 方法名相同, 参数列表不同
构造方法:
就是用来构造一个对象的方法
1, 构造方法没有返回值, 没有返回值也不能写void
2, 构造方法名与类名一模一样
3, 定义一个类的时候, 如果没有写任意的一个构造方法, 则默认生成一个空参的构造方法
4, 当一个类中有定义的带参数的构造方法的时候, 则空参的构造方法会消失(如果想使用空参的构造方法, 必须显式的写出来)
练习: 封装一个Student类
姓名 String
年龄 int
语文分数 double
数学分数 double
方法: 显示姓名, 年龄, 总分, 平均分
// 分别以set方法和构造方法赋值


9, this关键字代表的含义是 ? 该如何使用
this关键字: 当前对象的引用
大多数情况用来解决传入的参数和成员变量重名的现象
可以通过this关键字来调用当前类中的其他的构造方法this();
10, static关键字代表的含义是 ? 该如何使用 ?
static: 静态的, 可以修饰变量(成员变量, 方法, 类)
修饰变量:
static修饰的变量不存在于栈空间和堆空间, 存在于数据区
不管实例化多少个对象, 所有的对象都共享一份
static修饰的变量在访问的时候不需要实例化, 直接拿类名去点出来

修饰方法:
用途, 做一些工具类的使用
因为不需要实例化, 使用起来比较方便
注意:
static修饰的方法不能访问非静态成员!!!
11, 单例模式介绍

public class Car {private String driver;// private static Car car = new Car(); // 饿汉式private static Car car;private Car() {}public static Car getCar() {if (car == null) {car = new Car(); // 懒汉式}return car;}public String getDriver() {return driver;}public void setDriver(String driver) {this.driver = driver;}
}

  

public static void main(String[] args) {Car car = Car.getCar();System.out.println(car);car.setDriver("小明");Car car2 = Car.getCar();System.out.println(car2.getDriver());

      }

          public static void m() {}

}

  

 

转载于:https://www.cnblogs.com/cy960202/p/8991284.html

面向对象 “上”相关推荐

  1. 面向对象(上):从生活中的类比说起-day9

    面向对象(上):从生活中的类比说起 文章目录 面向对象(上):从生活中的类比说起 写在前面 对象,你找到了吗? 能不能再给力点? 继承,富二代的梦想 总结 写在后面 写在前面 你好,我是禅墨! 滴滴~ ...

  2. java面向对象 接口和实现类_类实现java面向对象上:接口

    最近应用开发的过程中出现了一个小问题,顺便记录一下原因和方法--类实现 10.接口: 接口的设计:        1.应用接口处理多继承:        2.应用接口为外部类添加功能:        ...

  3. python学习笔记六 初识面向对象上(基础篇)

    python面向对象 面向对象编程(Object-Oriented Programming )介绍 对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性是继承. ...

  4. linux 延展集群如何设置,OCaml 4.11.0 发布,将函数式语言 Caml 在面向对象上进行延展...

    OCaml 4.11.0(Objective Caml)已经发布.OCaml 是 Caml 编程语言的主要实现,Caml 是函数式编程语言,OCaml 将 Caml 语言在面向对象方面做了延展,它的扩 ...

  5. C++之面向对象(上)

    面向对象(上) 一,引用的应用 swap.cpp #include <iostream> using namespace std; int main(void){   int a = 10 ...

  6. Java阿凯_Java-7 面向对象(上)

    2.面向对象 面向对象(Object-Oriented) ooa:面向对象的分析 ood:面向对象的设计 oop:面向对象的编程 面向对象三大特性 封装,继承,多态 2.1类和对象关系 类:一种数据类 ...

  7. 黑马程序员---面向对象上(封装,继承,多态)

    ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS ...

  8. 【阶段一】java之面向对象上

    面向对象语言具有如下特征: 面向对象是一种常见的思想,比较符合人们的思考习惯: 面向对象可以将复杂的业务逻辑简单化,增强代码复用性: 面向对象具有抽象.封装.继承.多态等特效. 1.什么是面对对象 J ...

  9. 第五章 面向对象(上)

    Java是面向对象的程序设计语言,Java语言提供了定义类.成员变量.方法等最基础的功能,类可被认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用变量,它们将引用到类的对象 ...

  10. python面向对象基础知识_Python基础知识day08面向对象(上)

    本帖最后由 小江哥 于 2018-9-14 11:45 编辑 面向对象编程介绍 想一想 请用程序描述如下事情: · A同学报道登记信息 · B同学报道登记信息 · C同学报道登记信息 · A同学做自我 ...

最新文章

  1. iOS开发 UIPanGestureRecognizer手势抽象类
  2. LAMP搭建之三:php编译安装
  3. 【Kali 树莓派版学习笔记】安装系统和VNC服务
  4. 工作158:vue里面为什么要加key
  5. python涉及到的逻辑_涉及逻辑运算的python表达式的运算顺序
  6. OpenJudge NOI 1.1 10:超级玛丽游戏
  7. 使用常识 | 如何在word中添加勾选框
  8. Android零基础入门第26节:layout_gravity和gravity大不同
  9. 在 Mac 中 使用 Safari 常出现「此网页正使用大量内存...」如何修复?
  10. 泰山游记:路上瓶装水很便宜,2元
  11. 【图像隐写】基于matlab GUI DWT+SVD数字水印 【含Matlab源码 939期】
  12. Process Hacker工具使用
  13. windows 编译libtorrent
  14. 在移动硬盘上安装Deepin Linux 操作系统
  15. android 百度导航没有声音,百度导航Android版问题集
  16. git提交代码失败 ‘“node“‘ �����ڲ����ⲿ���Ҳ���ǿ����еij������������ļ��� 解决方法
  17. Visual2022安装步骤社区版,专业版or企业版安装(附注册码)(没有桌面图标的解决方法)
  18. 使用 gvm 来快速安装或者升级 golang 版本
  19. 小程序瀑布流的实现三种方式
  20. app 的 icon图标 有黑边

热门文章

  1. 在网页中引用DWG控件,交互绘图,和响应鼠标点击对象的方法
  2. Output error file to the following location:[ A:\GHOST ERR.TXT] 错误处理
  3. 实用教程:使用Netflow分析网络异常流量
  4. 谷歌推出3D社区“Lively” 挑战第二人生(组图)
  5. AVIator -- Bypass AV tool
  6. js获取浏览器和设备相关width(屏幕的宽度)
  7. 对于vertical-align的学习
  8. 记一次在Tomcat部署项目后无法启动该项目的例子
  9. hdu5187 奇怪题
  10. careercup-链表 2.7