java面向对象基础复习

this关键字用法:
  表示当前对象的引用,即调用成员属性和方法时,表示当前正在调用的对象
  调用其他构造方法(必须放在第一行);

super关键字
  指向自己(直接)父类对象的一个指针,可以调用父类的成员属性和方法
  调用父类中的某一个构造函数

面向对象三大特征:
  继承
    继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
    子类拥有父类非private的属性和方法
    JAVA不支持多继承,继承关系是传递的
    父类是子类的一般化,子类是父类的特殊化(具体化)
  封装
    属性描述事物的特征,方法描述事物的动作
    首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系
  多态
    方法的重写、重载与动态连接构成多态性;
    对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就是动态连接。
    向上转型(父类对象的引用指向子类对象);向下转型(将父类对象的引用强转成子类类型)

访问权限修饰符:
  public : 相同包下和不同包下的类都能访问
  protect: 相同包下能类访问,子类能访问
  default: 相同包下的类能访问,子类不能访问
  private: 其他类都不能访问

static修饰符
  static修饰的内容是隶属于类,而不是直接隶属于对象的
  随着所在类的加载而加载,优先于对象的存在
  satic修饰的成员被该类型的所有对象所共享
  可以直接使用类名访问static成员

final修饰符
  被final修饰的值不能修改,方法不能重写,类不能继承
  final修饰变量后导致的“宏替换”/"宏变量"问题(在编译期final变量能够直接被其本身的值所替换)
  引用变量指向的是实际的对象,但其存储的是所指向对象的地址,因此,其值不能修改并不意味着其所指向的对象不能修改

abstract修饰符:修饰类和方法
  abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例
  abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明而没有实现,需要子类继承实现。

接口(interface)
  接口没有构造方法
  接口支持多继承
  接口中的方法会被隐式的指定为 public abstract  
  接口中的变量会被隐式的指定为 public static final

内部类:
  局部内部类
    定义方法中,只能使用方法中声明为final类型的变量。
  匿名内部类
    没有类名,没有class关键字也没有extends和implements等关键字修饰。
    会隐式地继承一个父类或实现一个接口。
  静态内部类
    只能访问外部类的静态成员变量与静态方法。
    声明方法:(在类中)
      public static class InnerClass
    生成方法:
      OuterClass.InnerClass inner = new OuterClass.InnerClass();
  成员内部类
    可以访问外部类的静态与非静态的方法和成员变量。
    声明方法:(在类中)
      public class InnerClass
    生成方法:
      OuterClass.InnerClass inner = new OuterClass().new InnerClass();

时间: 2024-10-25 18:07:46

java面向对象基础复习的相关文章

【Java面向对象基础(三)】面向对象思想

[喵"的Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinking in Java中提到“Everything is an object”,即万物皆对象.这里的“对象”指的是任何实体或者任何可以当作实体看待的“虚幻的事物”.比如现实中的人(男人.女人.老人.小孩而...).动物(大象.狮子.猴子...).桌子.凳子.汽车.ATM机等等,也可以使看不见摸不着的空气(氧气.二氧化碳.氮气

【Java面向对象基础(一)】数据类型与运算符

[喵"的Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符 1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数据类型 字节数 二进制位数 最小值 最大值 默认值 byte 1 8-bit -2^7 +2^7 - 1 0 short 2 16-bit -2^15 +2^15 - 1 0 int 4 32-bit -2^31 +2^31 - 1 0 long 8 64-bit -2^63 +2^63 - 1 0

【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

[喵"的Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder 1.String String是Java中的一个final类,主要用于字符串的处理. 1.1 不可变性 String内的字符串是不可变的,每一次修改都会重新生成一个新的String对象实例. 例: 1 // 在堆中会创建一个"Hello"字符串实例,把地址赋给对象a 2 String a = new String("Hello&

关于JAVA面向对象基础整理以及个人的理解(适合初学者阅读)

JAVA的基础语法等都跟C有很大的相似之处,所以这里就不多啰嗦了.直接从数组开始. 数组: 1.声明 int [] a; 在声明的过程中,并没有分配空间给数组.我们可以在声明的同时,用new来分配相应的空间 int [] a = new int[100]; 这里开辟了一个空间为100大小的数组,内存分配也完成了. 我们可以在声明的同时也确定元素个数 int [] a = new int[]{1,3,5,7,9}; 面向对象(重点) class Human{ int height; void br

JAVA SE 基础复习-基本程序设计(1)

1.java基本数据类型 int         4      最大值 0x7fffffff 2147483647=2的31次方-1  首位为符号位   最小值-2147483648  0x80000000  补码存储 首位不变 其他位取反后加1 short     2      最大值2^15-1  32767  最小值-2^15  -32768 long       8     最大值2^63-1    最小值-2^63 byte       1     最大值2^7-1  127  最小值

2018.6.13 Java语言基础复习总结

Java语言基础与面向对象编程实践 第一章 初识Java 1.1机器语言 机器语言是指一台计算机全部的指令集合.机器语言室友0和1组成的二进制数,是一串串由0和1组成的指令序列,可将这些指令序列交给计算机执行. 1.2汇编语言 负责把汇编语言翻译成二进制的机器语言,这种翻译程序就是汇编程序. 1.3高级语言 1954年第一个完全脱离机器硬件的高级语言FORTRAN诞生 1.3.1C语言 是一种计算机程序设计语言,它既有高级语言的特点,又具有汇编语言的特点. 1.3.2 C++语言 是具有面向对象

JAVA面向对象基础问答

请简要写出搭建java开发环境的步骤和java跨平台原理. 答: 搭建开发环境步骤:1.下载安装JDK.2.配置path路径.  Java跨平台原理:java针对不同平台开发了不同版本的JVM,不同平台安装上对应版本的JVM之后  使用java代码编写的程序通过一次编译生成统一的字节码文件,就可以在JVM虚拟机中运行  所以只需开发一套使用java代码编写的程序,就可以在不同平台上进行运行,这就是java跨平台原理. int和Integer都可以代表一个整数,这两者在使用上有什么区别吗?为什么J

java面向对象基础知识

一.面向对象与面向过程的区别: ①所处的角色不同:前者指挥者,后者执行者:②所需知道的事情不同:前者知道哪些是做这些事情的人就可以,不需了解具体的事情操作的过程.后者需要具备应有的技能来做这些事情. 二.面向对象的基本操作过程 指挥者采用面向对象思想,通过创建类,来创建统一的属性值[成员属性]和(做事的)方法[成员方法]. 通过创建的类或者jdk已有的类,来创建具体的对象,属性值明确,方法明确. 举例:创建类 1 package com.oracle.demo02; 2 3 public cla

java面向对象基础

思想 面向过程:是分析出解决问题所需的步骤,从上往下步步求精,自顶向下的编程,最重要的是模块化思想,考虑实际的实现 优点:性能高 面向对象:以事物为中心,将事物高度抽象为对象,对象包括属性与行为. 优点:易重用.易扩展.易维护.适合大型项目 联系与区别 联系:面向对象也含有面向过程的思想 区别:面向过程是一件事"该怎么做",面向对象是一件事"该让谁来做" 举例 汽车发动  汽车到站 面向过程  汽车发动与汽车到站分别为两个事件,形成两个函数,依次调用 面向对象  关