欢迎来到天天文库
浏览记录
ID:30934874
大小:94.50 KB
页数:14页
时间:2019-01-04
《面向对象基础部分》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、•类与对象比如人:张三、李四、王二麻子,实实在在存在的,看得见摸得着。比如人类:抽象的,概念上的共性的。对象:实际存在的,是该类事物的每个个体,也称为类的实例,是个性类:规定的i个共性的东西,是抽象的,概念上的。是共性的翁家龙:个性的,具体的,需耍依靠类开发中重点放在类上面,因为类设计好了就等于设计好了千千万万个对彖是先有对象还是先有类:先有类再有对象。结论:类的格式:classs类名称{属性;方法;}类是对象的模板,对象是类的貝体体现。packagecom.wanczy.oopDemoOl;publicclassPerson{Stringname;intage;
2、publicvoideat(){System.out.printIn(name+”在吃饭');}}packagecom.wanczy•oopDemoOl;publicclassOopDemoOl{publicstaticvoidmain(String[]args){Personp=newPerson();p.name=”肖炜全";p.age=20;p.eat();}对彖的引用传递:packagecom.wanczy•oopDemoOl;publicclassOopDemoOl{publicstaticvoidmain(String[]args){Personp=n
3、ewPerson();p.name=”肖炜全";p.age=20;//p.eat();Personpl=p;pl•name=”袁文杰System.out.printIn(p.name);面向对象的特征:•继承•封装•多态封装:使用private实现类的封装,使用private修饰的属性不能被外部访问,private修饰的方法也不能被外部访问。现在类中的属性和方法都被封装了,外部不能访问了,那么为什么需耍封装呢?packagecom.wanczy•oopDemo02;publiuclassPerson{privateStringname;privateintage;
4、publicvoidsetName(Stringname){this•name=name;publicvoidsetAge(intage){■System.out.printin(”设置的年龄不合理”);publicStringgetName(){returnthis•name;publiuintgetAge(){returnthis•age;}publicvoideat(){System,out.printIn(name+”在吃饭'我的年龄是:n+age);packagecom.wanczy.oopDemo02;publicclassOopDemoOl{publ
5、icstaticvoidmain(String[]args){Personp=newPerson();p.setName(”肖炜全");p•setAge(200);P-eat();从以上的代码中可以发现,封装的好处在于:•安全性・可以进行校验匿名对彖:没冇名字,只使用一次的对彖构造方法:用于构造对象的方法构造方法的两个特点:・无任何返回值类型・方法名称必须与类重名packagecom.wanczy•oopDemo02;publiuclassPerson{privateStringname;privateintage;publicStringgetName(){re
6、turnname;}publiuvoidsetNmme(Stringname){this.name=name;}publicintgetAge(){returnage;}publievoidsetAge(intage){this.age=age;}publicvoideat(){System,out.printIn(name+”在吃饭,我的年龄是:”+age);}publicPerson(){System,out・printin("这是一个无参数的什么都不做的构造方法”);}}packagecom.wanczy.oopDemo02;publiuclassOopDe
7、moOl{publicstaticvoidmain(String[]args){newPerson();newPerson();newPerson();newPerson();}}通过以上程序发现,对象实例化的时候都会去调用类的构造方法,如果类小没有写任何的构造方法,那么会默认的去调用一个什么都不做的构造方法。带参数的构造方法:构造方法中存在参数,这些参数是为了给初始化对彖的属性赋值。packagecom.wanczy•oopDemo02;publiuclassPerson{privateStringname;privateintage;publicStringg
8、etNam
此文档下载收益归作者所有