1. 编程思想:

    简单的说一下,我们学习编程,最重要的就是要有编程思想,而编程思想无非就是面向过程和面向对象,以下谈谈我对编程思想的理解。

    面向过程:

    从过程入手,第一步,第二步…….借助过程与过程的配合,完成需求。

    例如: 小明进入房间,需要以下几个步骤:

    第一步打开房间门,第二步小明进去,第三步把房间门关上。

    每一步都是一个过程,如果小王,小李等等进来呢,一直重复这几个过程,会显得程序冗余复杂。此时面向对象的出现完美解决了这种问题。

    面向对象:----模拟现实世界编程。

    从对象入手,把和需求相关的对象提取出来,借助对象和对象的配合,实现需求。

    例如:小明进入房间:

    先向小明下达开门的指令,然后向小明下达进入指令,最后向小明下达关门指令,小明就是对象,面向对象编程。

  2. 面向对象----Object Oriented
    1. 什么是对象:----万物皆对象。

      现实生活中的对象都具有两个主要要素,一个是对象有什么,一个是对象干什么

      对应程序中的属性和方法。

    2. 计算机中的对象:----是一块存储空间,是现实对象在计算机中的抽象表示。
    3. 类:----是具体对象的共性提取,对象是类的具体存在。
  3. 类的组成。
    1. 属性:
      1. 数据类型 变量名;//声明----string name;
      2. 数据类型 变量名 = 值;//声明并赋初值----string name="zhangsan"
    2. 方法:----修饰符 返回值类型 方法名(形参列表){//声明部分

      //实现部分

      }

    3. 构造方法:----特殊的方法。
      1. 方法名必须和类名完全一致;
      2. 没有返回值类型。

      使用:

      构造方法不允许手动调用,每次创建对象时由解释器自动调用

      构造方法的作用是给属性赋值

      如果类中没有定义构造方法,系统会默认分配一个公共无参的构造方法。

      类的式例代码:

package com.lvsling.test;

public class Student {

//属性

String name;//声明属性

int age=10;//声明属性并赋值

boolean sex;

//无参构造方法

public Student() {

}

//有参构造函数

public Student(String name, int age, boolean sex) {

super();

this.name = name;

this.age = age;

this.sex = sex;

}

//普通方法

public void Test1(){

System.out.println("这是普通方法");

}

}

  1. 创建对象
    1. 语法:类名 变量名 =new 类名(构造参数);
    2. 使用:对象名.属性名 = 新值;//修改对象的属性值

      对象名.属性名 //获取对象的属性值

      对象名.方法名(实参列表);//调用对象的方法。

package com.lvsling.test;

public class TestOO {

public static void main(String[] args) {

//创建对象

Student s=new Student("zhangsan",18,true);

//修改对象的属性值

s.age=25;

//获取对象的属性值

System.out.println(s.age);

//调用对象的方法

s.Test1();

}

}

  1. 创建对象的过程
    1. 分配空间--------给所有属性赋值默认值
    2. 初始化属性---------给属性赋初值
    3. 调用构造方法-------给属性进行第三次赋值
  2. 总结:

    以上说明了面向对象中的类的书写,创建对象以及调用方法的过程。面向对象是java学习的核心思想,面向对象编程是模拟现实生活进行编程的思想,对象共性提取抽象化,面向对象高内聚,弱耦合大大提高了程序代码的可重用性和可扩展性。

提升与拓展:

类的属性是实例变量,也叫全局变量:

  1. 位置:类以内,方法以外(方法内的是局部变量)
  2. 默认值:有默认值,string---null,int----0,Boolean----false等
  3. 作用域:至少本类可以用
  4. 命名冲突:实例变量和局部变量可以重名,重合范围内局部变量优先。

方法重载----OverLord:在同一个类中,可以定义多个名称相同,参数不同的方法

要求:形参列表不同----顺序,类型,个数。对返回值无要求

好处:屏蔽因参数列表不同带来的差异,方法调用简单,灵活。

java基础(5)----面向对象的更多相关文章

  1. Java基础-初识面向对象编程(Object-Oriented-Programming)

    Java基础-初识面向对象编程(Object-Oriented-Programming) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Java是一门面向对象的程序设计语言.那么什 ...

  2. 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)

    ---------- android培训.java培训.期待与您交流! ---------- 一.异常机制 (一)异常概述 1.异常:就是程序在运行时出现不正常情况. 2.异常类:程序在运行时,出现的 ...

  3. Java基础之面向对象以及其他概念

    一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平台,jvm不是跨平台的. JR ...

  4. 【Java基础】面向对象下

    面向对象下 这一章主要涉及其他关键字,包括 this.super.static.final.abstract.interface.package.import 等. static 在 Java 类中, ...

  5. 【java基础】面向对象的三大基本特征之-------继承

    面向对象的三大特征:封装,继承,多态 java通过extends关键字来实现继承,而且是单继承,一个子类只可以有一个直接父类,但是父类还可以有父类... java.long.Object是所有类的父类 ...

  6. 黑马程序员——【Java基础】——面向对象(一)概述、类与对象、继承、抽象类、接口、多态、内部类

    ---------- android培训.java培训.期待与您交流! ---------- 一.面向对象概述 1.面向对象:是一个很抽象的概念,它相对面向过程而言,是一种程序设计的思想. 2.面向对 ...

  7. 再探java基础——对面向对象的理解(1)

    对象 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则.计划或事件.对象具有属性和行为,在程序设计中对象实现了数据和操作的结合,使数 ...

  8. Java基础(6)- 面向对象解析

    java面向对象 对象 知识点 java 的方法参数是按值调用,是参数的一份拷贝 封装 使用private将 属性值/方法 隐藏,外部只能调用 get,set方法/非private 的接口 获取 重载 ...

  9. Java基础总结--面向对象1

    ---面向对象的概念---1.面向过程与面向对象的区别面向过程:是一种思维习惯,解决一个问题的时候靠的是一个个方法调用--核心是动作面向对象:是一种更接近生活中解决问题的思维习惯,解决特定的问题靠对象 ...

  10. Java基础知识➣面向对象(八)

    概述 Java和C#都是面向对象语言,面向对象编程是目前高级语言习惯的编程模式,与C++编写过程编程而言,面向对象使用起来高效.灵活:面向对象的三个特征:封装.继承和多态. Java面向对象 1.类封 ...

随机推荐

  1. am335x在ubuntu下使用StarterWare编写裸机程序并在CCS中用Jlink调试

    StarterWare在AM335X上的烧录运行 步骤:1.下载安装StarterWare,我们团购的SK需要02.00.00.07版本.最近外网访问慢,我上传到论坛.2.找一张miniSD卡,不需要 ...

  2. HTML5可以省略结束标记的元素

    HTML5可以省略结束标记的元素 1.dd 2.dt 3.li 4.p 5.optgroup 6.option 7.rt 8.rp 9.thread 10.tfoot 11.tr 12.td 13.t ...

  3. hihocoder Challenge 29 B.快速乘法

    这题的题解和我写的有一拼,异常简洁,爆炸. 这题思路dp 表示的是讨论到第位,并比原数的前n位多了 显然j只能取0,1,毕竟2进制嘛 之后转移就好了,注意下面两个重要状态 #include <c ...

  4. pat1011-1020

    一开始几道题写到吐血,真的自己现在好弱 1011 水题不说了 #include<bits/stdc++.h> using namespace std; const int N = 105; ...

  5. dom文档对象模型图

  6. css设置居中的方案总结

    回想一下,自己平时项目里遇到的比较多的就是css如何让元素居中显示,其实差不多每种情况都遇到过,所采用的方法也都各有利弊,下面对这些方法来做个概括,对其中的坑点,也会一一指出来,希望能给遇到问题的同学 ...

  7. WRT 版本说明

    std_generic 标准通用版nokaid 是不带XBOX支持的(Kai代表连接游戏平台到网络上.)virtual** 表示支持虚拟专用网络的版本VOIP 带VOIP表示支持网络电话的版本.meg ...

  8. 你该怎么选Offer

    原文出处:http://www.360doc.com/content/15/1223/07/1209677_522436084.shtml 记录目的:自勉.分享 摘要 一段时间无数公司.无数投资人蜂拥 ...

  9. 初学 Java Web 开发,从 Servlet 开发

    1. 基本要求:Java 编程基础 有良好的 Java 语言编程基础,这是必须的,在讨论 Web 开发技术时提了一个 Java 编程基础的问题会被鄙视的. 2. 环境准备 (Eclipse + Tom ...

  10. $CDQ$分治总结

    A.\(CDQ\) 分治 特别基础的教程略. \(CDQ\)分治的优缺点: ( 1 )优点:代码量少,常数极小,可以降低处理维数. ( 2 )缺点:必须离线处理. \(CDQ\)分治与其他分治最本质的 ...