jbs05类和对象.doc_第1页
jbs05类和对象.doc_第2页
jbs05类和对象.doc_第3页
jbs05类和对象.doc_第4页
jbs05类和对象.doc_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

类与对象 /创建对象的二个步骤 /第一步 声明对象 Man man=null; /第二步 实例化对象 new关键字来实例化对象 man=new Man(); /调Man类中的默认的无参构造器来实例化一个对象/Man man=new Man();/声明并且实例化 man.nose=鹰钩鼻;/调类中的属性并且赋值 man.setNose(); 对象创建的二个步骤: 1 : 声明对象 Man man=null; 2 : 实例化对象 man=new Man()通过new关键字实例化对象;调用当前类的默认的无参的构造器来实例化栈堆FiledDemo02 fd=null; 只将对象声明出来fd=new FiledDemo02() 实例化是在堆里面 在内存中开辟一个空间来存放对象 实例化出来的这个对象 man 可以用来调用类里面的属性或者方法 man.nose=鹰钩鼻;/调类中的属性并且赋值 man.setNose(); /调方法 通过实例化出来的对象打点”.”调用具体的属性或者方法 具体的一个类中组成介绍: 类: 类是对一类事物的描述StudentNose(属性)Eye Leg(方法)+setNose() 构造器 类的命名规范: 1 : 首字母不能为数字 2 : 类名所有单词的首字母必须大写 3 : 单词与单词之间不能有空格 4 : 除了$和_以外的其他特殊字符都不能出现在类名中 5 : 类的命名要有意义 StudentDAO 1 :属性怎么定义: 语法: 访问修饰符+ 类型 + 属性名; 访问修饰符+(关键字)+类型+ 属性名; Eg: String nose; 或者 private String nose; 定义属性的时候如果没有加访问修饰符修饰属性,那么默认的表示它是用public 修饰 如果用了访问修饰符修饰一个属性,那么按照所用的访问修饰符来操作 定义属性的时候要注意: * 属性名不能为关键字 * 属性名的首字母不能为数字 * 属性名中不能出现除了_和$以外的其他特殊字符 以下是出现时所报的错: D:1103javac Student.jStudent.java:8: 找不到符符号: 变量 String位置: 类 Student String %uu=null; * 不能在同一个区域或者块定义二个或者以上相同的属性名 2: 方法的定义: 定义: 对属性的操作 语法格式: 访问修饰符 + (关键字)+返回值类型 +方法名(参数列表)* 带返回值和不带返回值的方法 不带返回值的方法: 返回值为void就是无返回值Eg: public void getWater() /定义一个无返回值的方法 带返回值的方法: 返回值类型不是void的方法 Eg: Public String getWater() / 定义带返回值的方法 Return “水”; (8个基本数据类型都可以作为一个返回值类型来修饰一个方法) Public boolean getTrue() Return false; * 带参数的方法和不带参数的方法 不带参数的方法 Eg: Public void sum() /这就是一个无返回值的不带参数的方法 /也就是()里面的参数列表为空 Public void sun(int a , int b) int add=0; /定义一个变量add 用来接收二个参数相加之后的和 add =a+b; System.out.println(“二个数相加之后的和:”+add);参数传递的是二个整形,那么方法里面就一定一个类型吗? 不是,方法里面可以传整形,也可以传其他的类型 那么方法中如果传递了其他的类型的话,那么你通过创建对象调用指定的方法的时候呢,方法中传递的参数就必须为指定的类型Eg: FiledDemo01 fd=new FiledDemo01(); fd.sum(2,7); 方法里面传参数注意:如果一个类中出现了二个或者二个以上的相同的方法名,是可以存在的,但是方法里面所传递的参数要么参数类型不一样,要么参数个数不一样xEg: public void sum(int a,int b) public void sum(int c,int d) 在一个类中不能有以上这样的写法;这样的写法呢,也表示这个类中有同名的方法,并且方法所传递的参数个数和类型一样是不可以的 如果想让这这二个方法可以在类中同时存在 1: 改变参数列表跑中参数的类型 2: 改变所传参数的个数、 在一个类中要有一个二个数相加的方法 还一个二个数相减的方法 这二个方法都传递二个int的值,那么这种解决方式: 将方法名写不一样就可以了 Eg: public void sum(int a,int b) int result=0; result=a+b; System.out.println(result); public void jian(int a,int b) int result=0; result=a-b; System.out.println(result); 根据返回值来判断: 带返回值的 public int sum(int a,int b) /这个方法表示返回一个int int result=0; result=a+b; return result; /返回一个结果 String boolen char 3. 构造器 构造器语法格式: 访问修饰符+ 类名()访问修饰符+ 返回值类型 + 方法名(参数列表) 访问修饰符+ class+ 类名 构造器就是构造方法 构造器可以用来初始化参数 public class FiledDemo04 String name;/定义一个name属性 /构造器用来初始化参数 public FiledDemo04(String _name) name=_name; System.out.println(name); public static void main(String args) FiledDemo04 fd4=null; fd4=new FiledDemo04(毛毛); 注明: new当前类的对象时,是通过类中含参数的构造器来实例化一个对象构造器中传递了一个参数_name 毛毛 调用类中的含参数的构造器 含参数的构造器里讲传递过来的毛毛这个参数 赋给了我们定义的属性上去了 name 就类似给我们定义的属性赋值 无参构造器 一个类中,如果我们要创建当前类的对象,就必须调用它的无参构造器来创建 Eg: public FiledDemo04() /这个是无参构造器 New 对象时事这样实例化的 :FiledDemo04 fd4=null; fd4=new FiledDemo04(); 含参数构造器 含参数的构造器就是可以用来初始化参数给对应的属性赋值 一个类中默认的是有一个无参的构造器 如果一个类中有一个含参数或者喊多个参数的构造器,那么此时的含参数的构造器会将默认的无参的构造器覆盖 我们调用的是含参数的构造器 public FiledDemo06(String _name) name=_name; System.out.println(name); this.show(); public static void main(String args) /声明并创建当前类的对象 /FiledDemo06 fd6=new FiledDemo06(); FiledDemo06 fd5=new FiledDemo06(maomao);对象的创建和使用 在Java中,使用new 关键字来创建一个对象(实例化一个类),new后面跟上一个构造器 每个类都至少有一个构造器,如果没有定义构造器,则系统将自动提供一个默认的不带任何参数的构造器,如果类没有定义构造器,可以用这个默认的构造起来生成一个对象 使用“.”操作符来访问对象的成员,包括对象方法和对象属性 . 对象的声明 对象的创建 如果我现在FiledDemo06类的一个对象 FiledDemo06 fd6=new FiledDemo06(); FiledDemo06 fd6 对象的声明,并没有实例化 new FiledDemo06() 通过new关键字后面跟上默认的无参的构造器来实例化当前类的对象 实例化出来的这个fd6能够调用类里面的属性和方法并对它们进行操作 Eg: 现在有 工程师、 教师 、民工、服务员 、公务员分别算出它们的总工资 工程师: 月工资+补助 +年底奖金 教师: 月工资 + 教务津贴 + 福利 (月工资按14个月算) 民工: 月工资 *12 服务员 : 月工资 *12 公务员: 月工资*12 + 福利3 分别求出这个五个角色的年工资 ? 小结: 面向对象的特点: 继承 封装 多态 继承: 封装; 将属性和方法封装成一个整体(为了保护类里面的一些属性) 多态: 通过方法和构造器给属性赋值 Eg;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论