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; ...
随机推荐
- 如何有效的跟踪线上 MySQL 实例表和权限的变更
介绍 从系统管理员或 DBA 的角度来讲, 总期望将线上的各种变更限制在一个可控的范围内, 减少一些不确定的因素. 这样做有几点好处: . 记录线上的库表变更; . 对线上的库表变更有全局的了解; . ...
- TeamViewer——可以实现在手机上随时远程控制你的电脑
小编今天给大家推荐一款强大的远程控制软件——TeamViewer,可以让你的手机连接你自己的电脑,不管你身处何处,只要电脑和手机都能联网,那么你就可以在手机上控制你的电脑了.以下介绍下如何安装和使用方 ...
- SQL VIEW(视图)
视图是可视化的表. SQL CREATE VIEW 语句 什么是视图? 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的字段就是来自一个或多个 ...
- javaScript操作DOM对象(看三遍,敲三遍,写三遍! 不会你找我)!!
DOM是Document Object Model的缩写,即文档对象模型,是基于文档编程的一套API 使用javaScript操作DOM对象通常分为三类:1.DOM CORE 2.HTM ...
- Ubuntu14.04配置3389远程桌面连接
1.安装xrdp sudo apt-get install xrdp -y 2.安装vnc4server sudo apt-get install vnc4server -y 3.安装xfce4 su ...
- ecshop 商品分类页 取得当前分类下的子分类方法
ecshop的商品分类页面category.php 下的分类,默认是取得所有同级父分类以及父类别的子分类.比如,我点击进入是A商品分类的页面 category.php?id=1,事实上 我只需要取得父 ...
- java 多线程访问同一个对象数据保护的问题
java 多线程同时访问统一个数据的时候,会引起一些错误,后面的线程会修改数据,而前面的线程还在使用修改前的内容, 使用 synchronized 关键字,保证代码块只能有一个线程来访问 public ...
- sublime 设置字体
通过菜单Preferences/Settings - User,添加下面这行配置就可以修改字体: "font_face": "Courier New", &qu ...
- php索引数组转成关联数组
foreach($revenue_data as $k3=>$v3){ $temps[$v3['_id']['date']]= array( '_id'=>$v3['_id'], 'tot ...
- kafka 源代码分析之Message(v0.10)
这里主要更新一下kafka 0.10.0版本的message消息格式的变化. message 的格式在0.10.0的版本里发生了一些变化(相对于0.8.2.1的版本)这里把0.10.0的message ...