java面向对象

原创 2018年04月15日 21:04:27

一、    面向过程和面向对象的异同点:

区别:面向过程用线性的思维去解决,面向对象站在高度上,很多事情让其他人去做。

联系:两者相辅相成,并不是对立的。

二、    类和对象

万物皆对象,类是对对象的抽象化。

特殊到一般,具体到抽象

类可以看成一类对象的模版,对象可以看成该类的的一个具体实例。

类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的静态和动态属性。

JDK提供了很多类供编程人员使用,编程人员也可以自己定义自己的类。

累的组成:属性(field) 方法 构造方法其他 :代码块 静态代码块 内部类

创建对象 类名 对象名 = new类名();Person p = new person();

构造器 作用:对对象进行初始化,构造方法不同,能够实现不同的初始化。

当创建一个对象时,如果类没有提供无参构造方法,系统默认提供一个无参构造方法。当这个类提供任何一个构造方法,系统不会提供无参构造方法。

全局变量和局部变量:全局变量属于整个类,所有方法可以使用和更改他。

局部变量属于方法本身,只有在这个局部变量的方法里才能使用。当全局变量和局部变量的名字相同时,在方法调用的时候,首先使用方法内部的局部变量;

New 关键字

调用类的方法需使用类的对象,方法名(参数列表)

This 关键字

值传递和引用传递

值传递:基本数据类型,本身不会发生改变

引用传递:引用数据类型,(类 对象 数组 接口 )

This的作用:

This 表示的是当前对象本身。

在普通方法中使用this:

区分类成员属性和方法的形参;调用当前对象的其他方法,任意位置

构造方法中使用this:

使用this来调用其他构造方法,位置必然是第一条语句,this不能用于static方法;

Static关键字:

在类中,用static生命的成员变量为静态变量,或者叫做类属性,类变量。

在类被载入时被显式初始化。对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享。可以使用对象.类属性调用。

使用static声明的方法为静态方法

不需要对象可以调用(类名.方法名)

再调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static成员了;静态方法不能以任何方式引用this和super关键字。

面向对象的三大特征(oop):封装、继承、多态、

子类可以继承父类的属性和方法,子类还可以提供自己的属性和方法

封装的作用:隐藏对象内部的复杂行,只对外公开简单的接口,便于外界调用,从而提高系统的课扩展性,课维护性;程序设计的要求:高内聚,低耦合。

封装属性,类和对象。Public 所有权限,protected 子父类权限,default包权限,private类权限。

Private 私有属性一般会提供公共的get/set方法,以便于对我私有属性进行读写。Get是为了获取属性,要返回值,(boolean)是is

Set是为了改变属性,提供参数;

继承:exdends 关键字 子类继承父类

子类拥有父类非私有的属性和方法,java只有单继承,单继承用于接口实现。

子类不能继承父类的构造方法。作用:代码重用。

子类在使用自己的构造方法,会先去调用父类的构造放发。以此类推。

多态:重载(overload)和重写(override)

重写:子父类之间,子类的方法名、返回值和参数列表同父类一样,但是方法体不同。

重载:在同一个类中,方法名相同,方法参数类型不同(类型、顺序、个数不同)。

多态作用:代码多样化。

Object类是所有java的基类(父类)

如果一个类没有继承任何类,那么这个累就继承了object类。Super代表父类本身,this代表当前对象本身。

==和equls的区别:

==可以用来基本数据类型的比较。

Int I = 1;j=1;i==j;//true

引用数据类型== 比较的是内存地址是否相等

Person p = new person ;

Person p1= new person ;

P==pq;//false;

Equals 用来比较两个对象是否相等;

String s= “abc”;

String s1= “abc”;

s.equals(s1);//true;;//true;

子类通过super调用父类的构造方法,通过构造方法为父类属性进行赋值。

多态存在的必要条件:

要有继承,要有方法的重写。父类应用子类;

A instanceof B 用来判断A对象和B对象是否是同一种类型。是返回true否则返回false

向上转型:子类转父类(父类出面子类做事)

向下转型:父类再转成原有的子类(强制 、注意类型转换异常)

Final 可以用来修饰变量、方法、类;

Final 最终的,最后的,不变的;

修饰属性:修饰一个变量,这个变量就成了常量;

修饰方法:这个方法不能被子类重写;

修饰类:这个类不能被继承;

抽象类为所有子类提供了一个通用模板,子类可以在这个模板基础上进行扩展。通过抽象类可以避免子类设计的随意性

学习java中面向对象的一些小总结。

Java面向对象 面向对象三大特征:封装、继承、多态   封装:1.提高数据的安全性。 2.操作简单 3.隐藏了实现 使用private修饰需要封装的属性,用set和get设置和获取属性。   构造函...
  • xs_challenge
  • xs_challenge
  • 2016-11-17 20:13:47
  • 1214

JAVA面向对象知识点详解

一、类和对象 类:类是对对象的一种抽象描述,也就是说,类其实就是定义对象的一个模板,在这个模板里面充分描述了对象所具有的属性和行为(方法)   对象:通过类具体创建出来的实体,就是对象,这些对象...
  • xxf159797
  • xxf159797
  • 2016-12-15 14:13:27
  • 664

深入理解Java中的面向对象

深入理解Java中的面向对象
  • a2011480169
  • a2011480169
  • 2016-08-03 09:13:10
  • 6651

java面向对象面试题 -经典实用,面试必看

  • 2016年09月26日 23:07
  • 27KB
  • 下载

简单实例复习java面向对象

/* 简单实例复习java面向对象 资料来源:http://www.runoob.com/java/java-inheritance.html 本篇通过对资料学习整理得来 *//*知识点目录 1,Ja...
  • swibyn
  • swibyn
  • 2017-01-19 14:11:52
  • 689

JAVA面向对象之对象和类

Java是一种面向对象的编程语言,面向对象在整个Java的学习中属于重中之重,从这一篇博客开始,将逐步为大家介绍Java面向对象的相关知识,这一偏将为大家介绍对象和类的概念以及如何定义类和创建对象。 ...
  • jianggujin
  • jianggujin
  • 2015-12-20 09:30:41
  • 5954

java 面向对象(图书管理系统1)

复习: 1、构造函数    a、构造函数的作用,用来创建对象,用new 关键字调用。还可以给这个对象的属性赋值。    b、有参数的构造函数和无参数的构造函数。    ...
  • struts_spring_hibern
  • struts_spring_hibern
  • 2016-11-14 16:50:07
  • 1135

JAVA 面向对象之方法详解

本页面更新日期: 2016年07月18日前言 方法是类或对象 的行为特征的抽象. 方法是类或对象最重要的组成部分. 所有的方法都必需定义在类里. 方法不能独立存在. 方法在...
  • tmdlife
  • tmdlife
  • 2016-07-17 23:08:29
  • 2973

java面向对象面试题(1)

1) 当试图编译并运行下面程序时会出现什么结果()(单选)     class A{          public int getNumber(int a){            ...
  • hello_word2
  • hello_word2
  • 2016-06-29 14:36:04
  • 1934

JAVA面向对象 对象/引用

本页面更新日期: 2016年07月17日对象/引用 在前面 PersonTest.java 代码中, 有这样一行代码: Person p = new Person(); 这行代码创建了一个 ...
  • tmdlife
  • tmdlife
  • 2016-07-17 17:25:43
  • 2482
收藏助手
不良信息举报
您举报文章:java面向对象
举报原因:
原因补充:

(最多只允许输入30个字)