类与对象

  • 函数与调用

    • 函数是通过对象来调用的
    • this
    • 是成员函数的特殊的固有的本地变量
    • 它表达了调用这个函数的那个对象
  • 调用函数
    • 通过 . 运算符,调用某个对象的函数
    • 在成员函数内部直接调用自己(this)的其他函数
  • 本地变量
    • 定义在函数内部的变量是本地变量
    • 本地变量的生存期和作用域都是函数内部
  • 成员变量
    • 生存期是对象的生存期
    • 基本作用域是类内部的成员函数
    • 按照private、protected、public、和default有不同的作用域
  • 对象初始化
    • 构造函数
    • 函数重载
    • this()可以在构造函数里调用其他构造函数
  •   
     package com.study;
    
     import java.util.Scanner;
    
     public class Main
    { public static void main(String[] args)
    {
    Scanner in = new Scanner(System.in);
    Fraction a = new Fraction(in.nextInt(), in.nextInt());
    Fraction b = new Fraction(in.nextInt(), in.nextInt());
    a.print();
    b.print();
    a.plus(b).print();
    a.multiply(b).plus(new Fraction(5, 6)).print();
    a.print();
    b.print();
    in.close();
    } } class Fraction
    { private int fenzi;
    private int fenmu; void huajian()
    {
    int c=maxYueShu(fenzi, fenmu);
    fenzi=fenzi/c;
    fenmu=fenmu/c; } int maxYueShu(int a, int b)
    {
    int gcd = 1; for (int i = 2; i <= (a < b ? a : b); i++)
    {
    if ((a % i == 0) && (b % i == 0))
    {
    gcd = i;
    }
    }
    return gcd;
    } Fraction(int a, int b)
    {
    fenzi = a;
    fenmu = b;
    huajian();
    } double toDouble()
    {
    double num = fenzi / (double) fenmu;
    return num;
    } Fraction plus(Fraction r)
    {
    Fraction b = new Fraction(r.fenmu * fenzi + fenmu * r.fenzi, fenmu * r.fenmu);
    return b;
    } Fraction multiply(Fraction r)
    {
    Fraction b=new Fraction(r.fenzi*fenzi,r.fenmu*fenmu);
    return b;
    } void print()
    {
    if(fenzi%fenmu==0)
    {
    System.out.println(fenzi/fenmu);
    }
    else
    {
    System.out.println(fenzi+"/"+fenmu);
    }
    } }

    运行结果

Java进阶学习(1)之类与对象(下)的更多相关文章

  1. Java进阶2 数组内存和对象的内存管理知识

    Java进阶2 数组内存和对象的内存管理知识 20131028 前言: 在面试的时候,如果是Java的编程语言,也许你认为没有什么可以问的,只能够说明你对于Java了解的太浅了,几乎就是两个星期的节奏 ...

  2. Java进阶学习:将文件上传到七牛云中

    Java进阶学习:将文件上传到七牛云中 通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去. JavaSDK:https://developer.qiniu.com/k ...

  3. Java进阶学习:log4j的学习和使用

    Java进阶学习——log4j的学习和使用 简介Loj4j Log4j的组成 Log4j主要由三大组组件构成: Logger: 负责生成日志,并能够对日志信息进行分类筛选,通俗的讲就是决定什么日志信息 ...

  4. 《java JDK7 学习笔记》之对象封装

    1.构造函数实现对象初始化流程的封装.方法封装了操作对象的流程.java中还可以使用private封装对象私有数据成员.封装的目的主要就是隐藏对象细节,将对象当做黑箱子进行操作. 2.在java命名规 ...

  5. Java反射学习-5 - 反射复制对象

    通过反射方式复制对象: package cn.tx.reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Fi ...

  6. Java进阶学习(3)之对象容器(下)

    对象数组 对象数组中的每个元素都是对象的管理者而非对象本身 对象数组的for—each循环 集合容器(HashSet) HashSet 数学中的集合,元素间满足互异性.确定性.无序性 HashSet& ...

  7. Java进阶学习(2)之对象交互(下)

    访问属性 封闭的访问属性 private等访问权限控制是对类的,这意味着同一类的不同对象可以互相访问其成员 这是从代码层面去考虑的,意味着不同类文件 开放的访问属性 一个类文件就是一个编译单元 pub ...

  8. Java进阶学习(4)之继承与多态(下)

    多态变量和向上造型 多态变量 子类和子类型 类定义了类型 子类定义了子类型 子类的对象可以被当作父类的对象来使用 赋值给父类的变量 传递给需要父类对象的函数 放进存放父类对象的容器里 多态变量 Jav ...

  9. Java进阶学习(3)之对象容器.小练习

    查找里程(10分) 题目内容: 下图为国内主要城市之间的公路里程: 你的程序要读入这样的一张表,然后,根据输入的两个城市的名称,给出这两个城市之间的里程. 注意:任何两个城市之间的里程都已经给出,不需 ...

随机推荐

  1. C++-POJ2955-Brackets[DP]

    题意就是,找出最长合法子括号序列 容易想到设f[l][r]为l~r的最长合法子括号序列的长度 然后从短的状态往长的状态枚举,不断更新答案就可以了 //#include<bits/stdc++.h ...

  2. Python入门5 —— 基本运算符

    1.算数运算符('+'.'-'.'*'.'/'.'//'.'%'.'**') print(10 + 3) -- 输出:13 print(10 - 3) -- 输出:7 print(10 * 3) -- ...

  3. shell编程基础知识

    什么是shell shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出屏幕返回给用户 shell对话方式 交互的方 ...

  4. 汉语诗词 LaTeX 排版样式

    清世何须忧庙廊——汉语诗词 LaTeX 排版样式 作者想一些中国古典诗歌,发现大多数早期的例子都是为了英文诗而创作的环境. 下面是作者给出唐诗选集的布局实例. 它不是一般解决方案,而只是一个特定的例子 ...

  5. liunx 使用crontab定时任务+shell脚本删除tomcat日志elasticsearch日志索引

    由于过多的日志很占用磁盘空间,今天经理让我写一个脚本删除多余的日志.和es索引 定时删除试根据crontab+shell脚本实现的 crontab配置目录 /var/spool/cron/ 该目录下存 ...

  6. Leetcode 74. 搜索二维矩阵 C+

    二分法,先对行二分找出结果可能存在的行,再对这一行二分查找.O(Log m+Log n),m.n分别为矩阵的高和宽. class Solution { public: bool searchMatri ...

  7. Unity3d简便的声音管理方案

    本方法是对Ez-Sound-Manager的扩展 https://github.com/JackM36/Eazy-Sound-Manager 参考Audio Toolkit Free Version ...

  8. mysql之instr函数

    1.用于模糊查询,做为过滤条件 ---------------------------上级的新闻下级可以看到-------------------------SELECT a.pk_cms_nrgl_ ...

  9. python操作mongo实例

    # coding:utf-8 """ mongo操作工具 """ from pymongo import MongoClient MONGO ...

  10. tianmao项目的学习笔记

    1.后台-分类管理/查询 实体相关的知识: 1.1@Entity和@Table的区别:https://www.cnblogs.com/softidea/p/6216722.html 1.2@JsonI ...