⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 javaday06.txt

📁 全是好玩的小程序全是好玩的小程序全是好玩的小程序
💻 TXT
字号:
		java  day06===========================================1,面向对象   	抽象:数据,业务逻辑2,数据--->类:静态的(属性),动态的(方法)3,new 一个对象的过程: 1,分配空间			2,属性初始化			3,调用构造方法4,方法的重载,构造方法的重载(在一个构造方法中怎么样调用本类其他的构造方法:this(XXXXX),调用哪个构造方法,有所传的参数决定);5,封装(类的封装)写属性的读和写的方法,作用,在这些方法中的可以写什么,写这些方法的规则。-------------------方法的调用---------------------	1,在栈里分配空间	2,实参传给形参	3,跳到被调方法中执行	4,跳回主方法,释放空间在方法中要注意点,传基本类型与传对象的的不同点。-------------------继承--------------------------------好处;代码的重用,父类中所写的代码,在子类中同样可用。	父类到子类是从一般到特殊的关系。		泛化:将不同子类中的共性抽象成父类的过程。		特化:在原有父类的基础上加入一些个性的过程。		原则:父类放共性,子类放个性。	继承的关键字:extends	Java只支持单继承:一个类最多只有一个直接的父类。默认继承的是Object类;子类可以调用父类中的public方法。若父类中的属性为私有的即(private),则子类中不可以访问改属性。可以通过,set方法和构造方法(用关键字super)来给该属性赋值。======================== super关键字 ======================		super()表示调用父类的构造器;如果构造方法既无this又无super那么就默认有一个super();		super()也和this()一样必须放在方法的第一句;		super()和this()不能同时出现;         		super可以屏蔽子类属性和父类属性重名时带来的属性遮盖,super. 表示调用父类的方法或属性;		在子类的构造器中如果没有指定调用父类的哪一个构造器,那么就会调用父类的无参构造器,		即super();1,任何子类的构造方法都会调用父类的构造方法。2,任何子类的构造方法的第一行,必须是this(XXXX)或super(XXXX)的调用,若不写,则系统会隐含调用super();方法覆盖(重写): 		方法名:相同;		参数表:相同;		访问限制符:相同或者更宽;		返回值类型:相同或者子类返回的类型是父类返回的类型的子类 (在JDK5.0以后) ;		抛出的异常:不能比父类更宽,是父类的子类。            注: 当父类的方法是私有的话, 子类不存在重写, 写的话只是子类自己的新方法;定理1:如果把子类对象当作父类对象来看,那么只能访问父类中已有定义的属性和方法(不能访问子类的属性和方法) -----------------------------多态-----------------------------------------------------        基本类型的多态:             数字; byte , int ,short ,double;            参数是其中的类型时, 一个数字3可以是其中任何一种类型;            	多态分为两种:编译时多态和运行时多态。		编译时类型:主观概念,把它看作什么。		运行时类型:客观概念,实际它是什么。	  	例:Animal a=new Dog();	      		指着狗问,这个动物是什么?	      		所有的多态可以归结为两个定理:        1).可以把子类对象当作父类对象来看,一旦这样做了,就只能去调用父类中原有定义的属性和方法,            也就是子类中扩展的方法或属性就不能调用了。         2).当我们把子类对象当作父类对象来看的时候,如果子类覆盖了父类中的方法,            在调用的时候实际调用的是子类覆盖后的方法。            Animal a=new Bird();前面的引用a的类型叫做编译时类型(主观认为),                                          后面的bird 类型叫做运行时类型(客观存在)。        引用类型:编译时类型,主观类型        对象类型:运行时类型,客观类型        运行时多态的三原则:		对象类型不变。		只能对对象调用编译时类型中定义的方法。		在程序的运行时,根据对象的运行时类型,找覆盖后的方法来调用。(运行时动态类型绑定)	Object 是所有类的对象。 强制类型转换: 一定没有新对象生成。(父类的引用赋值给子类的引用需要进行强制类型转换)     	 关键字:  instanceof          	用法:引用  instanceof  类名     判断这个引用所指向的对象是否属于这个类。多态的作用:把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,	                    写出通用的代码,做出通用的编程,以适应需求的不断变化。-----------------------作业----------------------------person:String name int age  public void work();public Person(String name,int age);public Person(String name)//age值默认为20要在第二个构造方法中调用父类的构造方法,并且传name参数。Person 的子类Student:覆盖work()方法,输出学生在学习Teacher:覆盖work()方法,输出老师在授课-------------------------------------------------主要类:1人口类:	属性:生命(lifevalue) 攻击力   消耗资源数  	方法:进攻子类:工兵 	扩展方法:建造建筑  采集资源      机枪兵      护士    	扩展方法:疗伤2,建筑类:	属性:生命值  消耗资源子类:	指挥中心    扩展方法:创建工兵	兵营地:  扩展方法:创建机枪兵   创建护士3,玩家类	属性:玩家名称,玩家资源值,玩家所拥有的人口对象,玩家所拥有的建筑对象。在主方法中测试以上程序(创建2个玩家)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -