Java之面向对象例子(一)
定义一个人类,给这个类定义一个从身份证获取生日的方法,输入身份证,获取出生年月日
//主方法
package com.hanqi.maya.model;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {//主方法 main方法 main函数
Person per=new Person(); //实例化一个人
per.name="Bom";
System.out.println("请输入身份证来获取生日");
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
per.showBir(str); }
}
//类方法
package com.hanqi.maya.model;
import java.util.Date;
import java.util.Scanner;
import java.util.Scanner;
//定义一个类
public class Person {
//定义成员变量 即 属性
public String name;
public String sex;
public int age;
public Date bir;
public String sfz;
//定义类方法
public String showBir(String sfz){
System.out.println("用户的生日是:"+sfz.substring(6,14));
return sfz;
} }

注意:
局部变量使用时必须赋初始值
类里的成员变量Java自动给赋值 int型初始值0 bollean型初始值false String型初始值null Date型初始值null
写一个简单的计算器
//主方法
package com.hanqi.maya.model;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {//主方法 main方法 main函数 System.out.println("请输入第1个数字");
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
double a=Double.parseDouble(str);
System.out.println("请输入运算符");
Scanner scanner2=new Scanner(System.in);
String str2=scanner.nextLine();
System.out.println("请输入第2个数字");
Scanner scanner1=new Scanner(System.in);
String str1=scanner1.nextLine();
double b=Double.parseDouble(str1);
Calc sum=new Calc();
sum.jisuan(a,b, str2);
}
}
package com.hanqi.maya.model;
import java.util.Scanner;
//计算机类
public class Calc {
//+-*/简单运算方法
public double jisuan (double a,double b,String f){ if(f.equals("+")){
System.out.println("a"+f+"b"+"="+(a+b));
return a+b;
}else if(f.equals("-")){
System.out.println("a"+f+"b"+"="+(a-b));
return a-b;
}else if(f.equals("/")){
System.out.println("a"+f+"b"+"="+(a/b));
return a/b;
}else if(f.equals("*")){
System.out.println("a"+f+"b"+"="+(a*b));
return a*b;
}
return 0;
}
}

定义一个车类,定义一个显示车类信息的方法,一个根据油耗和里程计算剩余油量的方法
//主方法
package com.hanqi.maya.model;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {//主方法 main方法 main函数Car car=new Car("奥T","AA",15,10,30);
car.show();
car.run(25);
car.show(); }
}
package com.hanqi.maya.model;
public class Car {
public String pinp;
public String chex;
public double price;
public int yh;
public double lc;
public int yxrj;
public int syyl; public Car(){//定义构造函数 }
public Car(String pinp1,String chex1,double price1,int yh1,int yxrj1){
pinp=pinp1;
chex=chex1;
price=price1;
yh=yh1;
lc=0;
yxrj=yxrj1;
syyl=yxrj1;
}
//显示信息的方法
public void show(){
System.out.println("品牌:"+pinp);
System.out.println("车型:"+chex);
System.out.println("价格:"+price);
System.out.println("油耗:"+yh);
System.out.println("里程数"+lc);
System.out.println("油箱容积:"+yxrj);
System.out.println("剩余油量:"+syyl+"L");
System.out.println();
}
//计算剩余油量的方法
public void run(double gongls){
double d=(gongls/100)*yh;
syyl=(int) (syyl-d);
System.out.println("行驶"+d+"公里之后");
System.out.println();
}
}

Java之面向对象例子(一)的更多相关文章
- Java之面向对象例子(三) 多态,重写,重载,equals()方法和toString()方法的重写
重写(继承关系) 子类得成员方法和父类的成员方法,方法名,参数类型,参数个数完全相同,这就是子类的方法重写了父类的方法. 重载 在一个类里有两个方法,方法名是完全一样的,参数类型或参数个数不同. 例子 ...
- Java之面向对象例子(二)
定义一个Book类,在定义一个JavaBook类继承他 //book类 package com.hanqi.maya.model; public class Book { public String ...
- JAVA的面向对象编程--------课堂笔记
面向对象主要针对面向过程. 面向过程的基本单元是函数. 什么是对象:EVERYTHING IS OBJECT(万物皆对象) 所有的事物都有两个方面: 有什么(属性):用来描述对象. 能够做什么 ...
- java学习面向对象之异常之一
一.异常的概述: 什么是异常?在我们编写java程序的时候,会出现一些问题,比如内存溢出啊或者数组索引超出最大索引啊,这些编程当中出现的这些个问题就是异常.但是异常也分为可以处理的和不可以处理的.比如 ...
- Java基础-面向对象第一特性之封装(Encapsulation)
Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中 ...
- java中面向对象的三大特性小结
java中面向对象的三大特性:封装.继承.多态 封装 把抽象的数据和对数据的操作封装在一起,隐藏变量的实现细节.数据被保护在内部,程序的其他部分只有通过被授权的操作(成员方法)才能对数据进行访问. 1 ...
- Java入门 - 面向对象 - 05.封装
原文地址:http://www.work100.net/training/java-encapsulation.html 更多教程:光束云 - 免费课程 封装 序号 文内章节 视频 1 概述 2 封装 ...
- java的面向对象
Java是1995年诞生.前身oak,后来改名为java. 面向对象的编程思想:对象是万事万物. 对象是由两部分组成的:属性和方法 1:属性是对象的静态特性(名词) 2:方法是对象的动态特性(动词) ...
- Java正则表达式匹配例子
Java正则表达式匹配例子 package com.ibm.test; import java.util.regex.Matcher; import java.util.regex.Pattern; ...
随机推荐
- JVM-6.即时编译器
一.即时编译器 二.运行模式 三.基本原理 四.编译优化技术 五.Java与C/C++的编译器对比 六.参考 一.即时编译器 1.在部分虚拟机(如Hotspot.IBM J9)中,Java ...
- opencv 删除二值化图像中面积较小的连通域
对于上图的二值化图像,要去除左下角和右上角的噪点,方法:使用opencv去掉黑色面积较小的连通域. 代码 CvSeq* contour = NULL; double minarea = 100.0; ...
- 利用npm安装/删除/发布/更新/撤销发布包 --社会我npm哥,好用话不多
一.什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率 1.从社区的角度:把针对某一特定 ...
- iOS,Android,Jave后台AES加密解密
AES256 在iOS和Android上的相关代码: http://www.tuicool.com/articles/RVFbmmU 里面可以下载相关的代码. 我们遇到的问题是: 把Android的代 ...
- ClassLoader机制:一个类何时会被虚拟机初始化?
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 大家都知道Java程序被编译器编译成字节码文件保存在硬盘里,Java虚拟机在执行代码时首先要把编译后的字节码文件从硬盘加载到内存中,然后才 ...
- $.Deferred 延迟对象
一.什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作.其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们 ...
- 【Netty】TCP粘包和拆包
一.前言 前面已经基本上讲解完了Netty的主要内容,现在来学习Netty中的一些可能存在的问题,如TCP粘包和拆包. 二.粘包和拆包 对于TCP协议而言,当底层发送消息和接受消息时,都需要考虑TCP ...
- 深入浅出TCP/IP协议栈
TCP/IP协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输.TCP/IP协议采用4层结构,分别是应用层.传输层.网络层和链路层, ...
- MySQL删除表方式差异
数据库删除语句 Drop/Delete/Truncate比较 Delete :删除数据表中的行(可以删除某一行,也可以在不删除数据表的情况下删除所有行). 删除某一行:Delete from 数据表名 ...
- [leetcode-530-Minimum Absolute Difference in BST]
Given a binary search tree with non-negative values, find the minimum absolute difference between va ...