Android day7
来源:互联网 发布:金百福珠宝软件是什么 编辑:程序博客网 时间:2024/06/06 09:37
第七次课了,我们进入到了Java学习的重要阶段:面向对象。以前这是我学习Java觉得最痛苦的地方,思维很难转过来,总觉得很抽象,可是明白之后就觉得轻松好多了。
知识点:
一、面向过程与面向对象
面向过程:先细节,后整体;
面向对象:先抽象,后具体。
二、类与对象
1、类:是一个模板,是一类东西的抽象(例如:水果)
2、对象:是类的实例(例如:苹果)
(1)对象的声明(产生):Fruit apple = new Fruit();(产生一个apple变量,一个Fruit对象)
(2)对象的引用:对象名(apple变量)是一个引用地址,存放在栈内存中;而类(Fruit)对象则存放在堆内存中。
三、类方法和实例方法,类变量与实例变量
类方法/变量:以static修饰(属于类) Fruit.value/Fruit.value()
实例方法/变量:不以static修饰,属于实例(对象)apple.value/apple.value()
四、方法的参数传递机制
java里面的参数传递机制:值传递
将实际参数的副本(复制品)传入方法内,参数本身不受影响
public static void main(String[] args) {// TODO Auto-generated method stubint a=100;int b=102;swap(a,b);System.out.println("交换结束后:a="+a+" b="+b);}private static void swap(int a, int b) {// TODO Auto-generated method stubint temp=a;a=b;b=temp;System.out.println("swap方法里面的值:a="+a+" b="+b);}结果为:
swap方法里面的值:a=102 b=100
交换结束后:a=100 b=102
五、形参可变的方法
例如:public void test(int a, String... books)
相当于:public void test (int a, String[] books)(当不知道数组的类型时可以使用)
public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("请输入参与party的姓名");Scanner input = new Scanner(System.in);String names=input.nextLine();String[] nArray=names.split(",");party pa=new party();pa.info(nArray.length,nArray);//party ty=new party();//ty.info(10, "ni,wo");}//String[] namespublic void info(int i,String...names){System.out.println("参加人数:" + names.length);for (String name : names) {System.out.println(name+" ");}}结果为:
请输入参与party的姓名
1,2,3
参加人数:3
1
2
3
六、方法递归
方法体内调用方法自身,称为方法递归
public static void main(String[] args) {// TODO Auto-generated method stubdiGui go=new diGui();int i=0;int a=100;go.diedai(i,a);//System.out.println(i);}private void diedai(int i,int a) {// TODO Auto-generated method stubif(a>=1){i+=a;a--;diedai(i,a);}if(a==0){System.out.println(i);}}
同个类中包含多个方法名相同,形参不同,称为重载(overload),而方法的其他部分如修饰符、返回值,跟重载没有任何关系
八、构造器
构造器是一个特殊的方法,用于创建实例时执行初始化
必须包含一个或者多个构造器
系统会默认提供一个无参的构造器(如:Fruit apple = new Fruit();)不需要声明返回类型
作业:
实现一个具有良好封装性的中年Person类
要求:
1. 包含属性用户名和年龄;
2. 对年龄比较合理的校验;
3. 要求输入的用户名在6~8位之间;
import java.io.UnsupportedEncodingException;import java.util.Scanner;public class person {person a = new person();static String name;static int age;public static void main(String[] args) throws UnsupportedEncodingException {// TODO Auto-generated method stubScanner input=new Scanner(System.in);System.out.println("你好!请输入你的姓名:");String xingMing = input.next();int numOfxM = xingMing.getBytes("Gb2312").length;//尝试输出输入xingMing的位数//System.out.println(xingMing.getBytes("Gb2312").length);if(numOfxM>=6 && numOfxM<=8){setname(xingMing);}else{System.out.println("你的姓名输入有误,请确保你输入的姓名位数在6-8位之间!!!");return;}System.out.println("请输入你的年龄:");int nianLing = input.nextInt();if(nianLing>=40 && nianLing<=60){setage(nianLing);}else{System.out.println("请输入你的真实年龄!!!");return;}System.out.println("欢迎您!"+getname()+","+getage()+"岁后人生会有更亮丽的风景!!!");}private static void setname(String xingMing) {// TODO Auto-generated method stubname=xingMing;}private static String getname() {// TODO Auto-generated method stubreturn name;}private static void setage(int nianLing) {// TODO Auto-generated method stubage=nianLing;}private static int getage() {// TODO Auto-generated method stubreturn age;}}结果为:
你好!请输入你的姓名:
biggin
请输入你的年龄:
55
欢迎您!biggin,55岁后人生会有更亮丽的风景!!!
- Android day7
- Android学习笔记day7
- Day7
- DAY7
- day7
- DAY7
- Day7
- day7
- day7
- day7
- Day7
- day7
- DAY7
- 转行自学android,Day7-仆街
- Android学习之Java基础篇day7
- 【Android】2015.09.09 第一行代码 Day7 Count:9
- Android温习之路Day7:java基础7
- day7-笔记
- 快速可靠网络传输协议 KCP
- ShadowLayout的用法--自定义控件--按钮---水波纹的效果
- javascript中数组的定义
- [ZooKeeper]Locks机制活动图
- 如何在窗口模式下演示ppt
- Android day7
- 打包时Fragment需要注意的一些问题
- JavaScript强化教程-动态实现创建row行col列的表格
- Android 点击空白页关闭软键盘
- android开发步步为营之106:TextView,EditText要求固定行数自动调整TextSize
- Boost 库 enable_shared_from_this 实现原理分析
- sqoop把mysql导入hive时报错:Could not load org.apache.hadoop.hive.conf.HiveConf.
- java对接mysql数据库
- nohup 和 &