美文网首页
Java 面向对象1

Java 面向对象1

作者: 寥寥十一 | 来源:发表于2018-04-08 16:21 被阅读57次

Java 面向对象

1.类、对象和引用

什么是类

类是一个概念抽象的定义。简单来说就是分类。
类定义了该类型对象的数据结构,称之为“成员变量”,同时,也定义了一些可以被调用的功能,称之为“方法”。
类是用于构建对象的模板,对象的实质就是内存中一块存储区域,其数据结构由定义它的类来决定。

类的定义----成员变量

Java语言中,类的成员变量的定义语法如下:

class 类名 {
  成员变量类型 变量名称;
}
对象的创建

new 类名();

Point p = new Point();

2.方法定义和调用

类的定义---成员方法

类中除了定义成员变量,还可以定义方法。

class 类名 {
  返回值类型 方法名(参数列表){

  }
}

class Point {
  int x;int y;
  void up(int dy) {
    y -= dy;
  }
}
方法调用

方法的调用必须通过某个对象的引用。当通过某个对象的引用调用方法时,方法中设计的成员变量就是该对象的成员变量。

Point p1 = new Point();
p1.x = 100;p1.y = 200;
p1.up(100);//x = 100,y = 100
方法重载

在Java语言中,允许多个方法的名称相同,但参数列表不同,称之为方法的重载(overload)。
编译器在编译时会根据其参数的不同,绑定到不同的方法。

public class PrintStream {
     print(char c) {...}
     print(int i) {...}
     print(double d) {...}

 }
this关键字

在方法中可以通过this关键字表示“调用该方法的那个对象”。

null

引用类型变量用于存放对象的地址,可以给引用类型赋值为null,表示不指向任何对象。
当某个引用类型变量为null时无法对对象实施访问。如果通过引用访问成员变量或调用方法,会产生NullPointerException异常。

3.构造方法

构造方法

在Java语言中可以通过构造方法实现对对象成员变量的初始化。构造方法是在类中定义的方法,但不同于其他的方法,构造方法的定义有两点规则:

  • 构造方法的名称必须与类名同名。
  • 构造方法没有返回值,但也不能写void。
Point(int x,int y) {
  this.x = x;
  this,y = y;
}

任何一个编译后的类都必须含有构造方法。如果源程序中没有定义,编译器在编译时将为其添加一个无参的空构造方法(称之为“默认的构造方法”)。
定义了构造方法后,Java编译器将不再添加默认的构造方法。

4.继承关系

  • extends关键字
    extends关键字可以实现类的继承。
    子类可以继承父类的成员变量和方法。同时也可以定义自己的成员变量和方法。
    Java不支持多重继承,一个子类只能继承一个父类,但一个父类可以有多个子类。
   class Shape {
    int a;
   }
   class Circle extends Shape {
     int b = 100;
     public  void  setB(int r) {
         this.a = b + r;
     }
    }
  • 向上造型
    一个子类的对象可以向上造型为父类的类型。
    父类型定义的引用变量可以引用子类型的实例。
  • instanceof 关键字
    通过instanceof 关键字判断其指向对象的实际类型。
    if(shape instanceof Circle) {
      Circle c = (Circle)shape;
    }
  • 方法的重写(Overwirte)
    子类可以重写继承自父类的方法,即方法名和参数列表相同,但内部的实现不同。

5.访问控制

public 和 private

private修饰的成员变量和方法仅仅只能在本类中调用。public修饰的可以在任何地方调用。

package语句
 定义类时需要指定类的名称。定义一个类如果只用类名作为唯一的标识,则不可避免的出现命名冲突。用package(包)的概念来解决命名冲突的问题。
 包名也可以有一定的层次结构,在一个包中可以包含另外一个包。
 package 包名1.包名2.包名3;
import语句
 通过import语句声明了类的全称后,该源文件就可以直接使用类名来访问了。有事import语句中也可以使用*,通配符。
protected和默认访问控制
 用protected修饰的成员变量和方法可以被子类以及同一个包中的类使用。
 默认访问控制即不书写任何访问控制符。默认访问控制的成员变量和方法可以被同一个包中的类调用。

相关文章

  • 3. Java面向对象编程

    类与对象[1] Java是面向对象的汇编语言(面向机器)—— c语言(面向过程)—— java语言(面向对象) 类...

  • Java程序员必修内功心法!(内功修炼第二层)

    1,Java 面向对象 1.1类和对象 1.1.1. 面向对象和面向过程的区别 1,面向过程 :面向过程性能比面向...

  • Java面试题基础知识篇

    1Java 基础知识面向对象→ 什么是面向对象面向对象、面向过程 略面向对象的三大基本特征和五大基本原则答java...

  • 【技术贴】java面向对象的基本概念

    java面向对象概述 一,面向过程与面向对象 1,程序的发展经历了两个主要阶段:面向过程、面向对象。 2,对于面向...

  • 第七节 Java 类与对象

    1. 什么是面向对象 面向对象是学习 Java 必须掌握的知识,也是 Java 里的一个重难点。那什么是面向对象呢...

  • java SE目录

    java SE目录 java基础(一)java基础(二)关键字面向对象(一)面向对象(二)面向对象(三)集合(一)...

  • 第一章 面向对象

    第一章 面向对象 一、面向对象 1、面向对象和面向过程的区别 2、java中提供访问控制的原因 ​ (...

  • 1-Java面向对象-面向对象

    通过前面的学习我们对于java的语法结构有了一定的认识,掌握了分支结构,循环结构等常用的程序逻辑,也能运用这些知识...

  • 黑马程序员-面向对象1

    -------android培训java培训期待与您交流!---------- 1.面向对象概念 a.面向对象概念...

  • 面向对象设计—类和对象

    原文链接:面向对象设计—类和对象 1. 面向对象程序设计的基本概念 Java是一种面向对象的编程语言。面向对象编程...

网友评论

      本文标题:Java 面向对象1

      本文链接:https://www.haomeiwen.com/subject/aiaphftx.html