`
wangzhuosoft
  • 浏览: 22756 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java基础--面向对象编程,方法重载,对象的创建和使用

阅读更多

面向对象编程:

内容:

1.         编程语言的发展

2.         面向过程的设计思想

3.         面向对象的设计思想

4.         对象和类的概念

5.         类之间的关系

6.         对象和引用

7.         JAVA类的定义

8.         对象的创建和使用

9.         This关键字

10.     Static关键字

11.     Packageimport语句

12.     访问控制

13.     类的继承

14.     方法的重写

15.     Final重写

16.     Object

17.     对象转型

18.     多态

19.     抽象类

20.     接口

面向过程的设计思想和面向对象的设计思想

最合适的方法出现在最合适的类中……

类(对象)之间的关系 关联关系

一个类的方法里面是另外一个的方法中的一个对象

继承关系(一般和特殊)

什么是一种什么

聚合关系(整体和部分)

实现关系

面向对象思维的方法:

1、  有哪些类哪些对象

2、  这个类这些对象应该有的属性和方法

3、  类和类之间的关系

Java与面向对象

对象是JAVA程序的核心,在JAVA程序中“万事万物皆对象”。

对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体。

类是用来创建同一类型的对象的“模板”,在一个类中定义了该类对象所应具有的成员变量以及方法

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

为什么用对象?

面向对象的编程------  一组对象相互配合通过沟通完成特定功能

   所以的paradigm都是对现实问题的抽象

          汇编是对机器语言的抽象

          面向过程的语言是对汇编的抽象

          对象是更加符合对于现实问题的抽象

对象都是对外服务的接口

   通过继承可以复用

对象隐藏内部服务的实现

   通过聚合可以复合

面向对象更加容易是我们达到这些年来苦苦追求的境界

   ReusableExtensibilty、维护和替换更加方便

组件---比对象更高的层次上的抽象(二进制级别)

   EJBWeb ServiceCORBACOM……

JAVA类的定义

类的定义主要有两方面组成一成员变量和方法

成员变量

成员变量可以使JAVA语言中任何一种数据类型(包括基本类型和引用类型)

在定义成员变量时可以对其初始化,如果不对初始化,JAVA使用默认的之对其初始化

成员变量的作用范围为整体类体。

JAVA面向对象基本概念    引用

Java语言中除基本数据类型之外的变量类型称之为引用类型

Java中的对象通过引用对其操作

如何在内存中区分类和对象

类是静态的概念,代码区

对象是new出来的,位于堆内存,类的每个成员变量在不同的对象中都是不同的值(除了静态变量) 而方法只有一分,执行的时候才占用内存

对象的创建和使用

必须使用new关键字创建对象

 

使用对象(引用).成员变量或来引用成员变量的成员变量

(注意“.”)

使用对象(引用).方法(参数列表)来调用对象的方法

(注意“.”)

同一个类的每个对象有不同的成员变量存储空间

 

同一个类的每个对象共享该类的方法

 

构造方法(构造函数)

使用new+构造方法 创建一个新的对象

构造函数定义是JAVA类中的一个用来初始化对象的函数

构造函数与类同名且没有返回值

创建对象时,使用构造函数初始化对象的成员变量

当没有指定构造函数时,编译器为类自动添加型如 类名(){  }的构造函数

约定俗成的方法:

类名的首字母大写

变量名和方法名的首字母小写

运用驼峰标示

 

内存的解析:

 

 

方法的重载

方法的重载是指一个类中可以定义有相同的名字,但是参数不同的多个方法,调用时,会根据不同的参数表选择对应的方法

参数个数不一样或参数类型不一样;

 

对象的创建和使用

必须使用new关键字创建

使用对象引用。成员变量或来引用对象的成员变量

使用对象引用。方法(参数类别)来调用对象的方法

同一类的每个对象有不同的成员变量存储空间

同一类的的每个对象共享该类的方法

非静态方法是针对每个对象进行调用

 

下面代码的执行过程:要清晰点

class Point {
    private double x;
    private double y;
    Point(double x1, double y1) { 
    	x = x1; 
    	y = y1;
    }
    public double getX() { return x; }
    public double getY() { return y; }
    public void setX(double i) { x = i; }
    public void setY(double i) { y = i; }
}

class Circle {
    private Point o;
    private double radius;
    Circle(Point p, double r) {
    	o = p; 
    	radius = r;
    }
    Circle(double r) {
        o = new Point(0.0, 0.0);
        radius = r;
    }
    
    boolean contains(Point p) {
    	double x = p.getX() - o.getX();
    	double y = p.getY() - o.getY();
    	if(x*x + y*y > radius * radius) return false;
    	else return true;
    }
    
    
    public void setO(double x, double y) {
        o.setX(x); 
        o.setY(y);
    }
    public Point getO() { return o; }
    public double getRadius() { return radius;}
    public void setRadius(double r) { radius = r;}
    public double area() { 
        return 3.14 * radius * radius;
    }
}

public class TestCircle {
    public static void main(String args[]) {
        Circle c1 = new Circle(new Point(1.0,2.0), 2.0);
        Circle c2 = new Circle(5.0);
        System.out.println("c1:("+c1.getO().getX()+","
            +c1.getO().getY()+"),"+c1.getRadius());
        System.out.println("c2:("+c2.getO().getX()
            +","+c2.getO().getY()+"),"+c2.getRadius());
        System.out.println("c1 area = "+c1.area());
        System.out.println("c1 area = "+c2.area());
        c1.setO(5,6);
        c2.setRadius(9.0);
        System.out.println("c1:("+c1.getO().getX()+","
            +c1.getO().getY()+"),"+c1.getRadius());
        System.out.println("c2:("+c2.getO().getX()+","
            +c2.getO().getY()+"),"+c2.getRadius());
        System.out.println("c1 area = "+c1.area());
        System.out.println("c1 area = "+c2.area());
        
        Point p1 = new Point(5.2, 6.3);
        System.out.println(c1.contains(p1));
        System.out.println(c1.contains(new Point(10.0,9.0)));
        
    }
}

 

先确定方法的名字

分享到:
评论

相关推荐

    Java 基础之面向对象编程教程

    Java 基础之面向对象编程教程,主要类和对象、如何定义类、成员函数、访问控制修饰符、构造方法、类变量、类方法、方法重载、方法覆盖、抽象、封装、继承、多态、抽象类、接口和New 运算符等概念的介绍和例题介绍...

    使用java实现面向对象编程

    第一章面向对象的java实现--封装 一.封装 二.构造方法 三.方法重载 第二章面向对象的java实现----继承和多态 一.继承 二.向上转型和向下转型 三.多态 四.封装、继承和多态之间的区别 第三章面向对象...

    125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt

    北京动力节点-Java编程零基础教程-006-Java语言概述-Java的特点-面向对象.mp4 北京动力节点-Java编程零基础教程-007-Java语言概述-Java的特点-跨平台性.mp4 北京动力节点-Java编程零基础教程-008-Java语言概述-...

    src.zip Java的面向对象编程·讲解代码

    这段代码源码资源可以广泛应用于各种Java项目中,尤其是需要展示并教学Java面向对象编程的课程或培训中。它可以被用作教学示例,帮助学习者理解和掌握Java中的OOP概念和实践方法。 目标: 通过这段代码源码资源,...

    java经典面试题目-面经-java-Java语言的进阶概念-常用的库和框架-并发编程-网络编程-Web开发-面经

    什么是Java中的面向对象编程(OOP)?列举OOP的原则。 什么是Java中的重载和重写?它们之间有什么区别? 什么是Java中的静态方法和实例方法?它们之间有什么区别? Java中如何实现字符串的连接? 什么是Java中的...

    Java的面向对象编程课件

    Java的面向对象编程课件  面向对象编程概述  对象、对象的状态、对象的行为  类和对象  面向对象程序设计  面向对象编程的难点  一个简单的例子  类的构造方法  new关键字的作用  缺省构造方法  方法的...

    《java面向对象程序设计-继承和多态》教案.doc

    super () 方法始终指向调用类的父类 调用父类构造方法 演示:示例 3 多态性 2-1 多态性是指¡°多种形式¡± 它使用不同的实例而执行不同操作 多态包括方法重写和方法重载 多态性 2-2 方法重载 2-1 方法重载 2-2 ...

    JAVA实验报告二Java面向对象程序设计.docx

    实验二Java面向对象程序设计 (1)定义表示课程的类Course,课程的属性包括课程名、编号、先修课号;方法包括设置课程名、设置编号、设置先修课号,以及打印课程名、课程号、先修课号。编写主程序,创建Course类的对象...

    实验三:Java类与对象

    本次实验进一步学习了Java的相关知识,深入理解了面向过程与面向对象语言的区别,了解了面向对象语言的三大特征,掌握类的声明和构造方法,掌握了对象的创建方法与创建机制,掌握了成员变量、类变量和局部变量区别,...

    java技术-让学员少走弯路

    Java面向对象编程,面向对象编程和面向过程编程的区别,我们如何才能掌握面向对象的编程,类和对象的关系;讲解了Java中的构造、重载、this和super变量、静态变量、Java中的常量、继承、多态。 Java中包的概念,类...

    《面向对象编程与设计(Java)》课后作业及参考解答.pdf

    1/7 页 《面向对象编程与设计(Java) 》课后作业及参考解答 1.1.1 第一周 课程(9 月 4 日)的课后作业及参考解答 1、 请用 Java 程序示例说明什么是面向过程的程序设计方法、什么是面向对象的程序 设计方法?...

    java期末复习第讲面向对象程序设计.pptx

    理解方法重载和方法重写的区别和使用方法; 第1页/共41页 java期末复习第讲面向对象程序设计全文共41页,当前为第1页。 2023年5月29日 4.1 包 包是由.class文件组成的一个集合 第2页/共41页 java期末复习第讲面向...

    Java是一种面向对象的程序设计语言

    Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加...

    java面向对象程序设计.pptx

    教学目标 理解数据抽象和数据隐藏 创建类 能够创建和使用对象 能够控制对实例变量和方法的访问 方法的重载 构造函数的使用 理解this引用的用法 理解Java的垃圾收集机制 static方法和域的使用 类的组合 包的创建和...

    (超详细)Java的面向对象编程—类、对象、包、参数、构造器、重载

    Java的面向对象编程一、类和对象二、创建类和使用对象三、特殊的toString()方法四、Java数据类型小结五、包 package六、变量的作用域七、带参数方法调用八、构造器九、方法的重载 一、类和对象 1、对象 特征 — 即...

    Java语言面向对象上册教程

    2. 面向对象编程 4 3. 面向对象的术语 6 4. 如何设计类 8 5. 内存模型 11 6. 案例 13 7. 方法 20 8. 方法的重载 26 9. 可变长度数组 33 10. 方法的递归调用 34 11.人机猜拳面向对象版 35 12.构造方法/构造器 41 13. ...

    《面向对象程序设计java)》课程整体教学设计.docx

    掌握Java类的概念、定义及创建类对象的方法,掌握面向对象编程的 基本方法、类的定义和对象创建、方法重载的概念、类的继承概念、多态的概念、理解抽象类与接口的相关概念等相关概念。 4. 掌握Java图形界面程序的...

    Java语法基础-面试专题及答案

    11.Java 面向对象编程三大特性: 封装 继承 多态 关于继承的3点 12.String StringBuffer 和 StringBuilder 的区别是什么 String 为什么是不可变的 可变性、线程安全性的研究 13.自动装箱与拆箱 14.在一个静态方法内...

    Java的面向对象技术编程实验

    实验报告,关于Java面向对象技术编程,包含完整的可完美运行的代码及实验截图,主要体现重载,继承,多态。

    《Java程序设计案例教程》教学课件05深入Java面向对象.pptx

    模块5 深入Java面向对象 《Java程序设计案例教程》教学课件05深入Java面向对象全文共47页,当前为第1页。 学习目标 01 了解Java面向对象程序设计的思想原则。 02 掌握类的结构、定义及对象的创建和使用。 03 掌握...

Global site tag (gtag.js) - Google Analytics