类:主观的抽象,对象的模版,可以实例化成为对象---定义一种模版,而模版不能直接的使用
---使用类就需要创建成为对象
--将现实中的具体对象,进行抽象的结果(强调对象之间的相同点,忽略不同的过程)
--使用抽象结果: 将模版进行具体化(实例化),用实例化的结果进行操作
习惯上定义类的格式
Package XXX;
Import XXX;
[修饰符] Class 类名{
属性:用变量表示(基本数据的类型)
行为:使用方法表示(基本的语句的方法)
构造方法(创建类时使用的方法,主要的功能是给类中的属性赋予初值)
}
--类 ,对象 ,实例 3者之间的关系
类: 对象的模版,实例化成为对象(构成空间的模版)
对象 :类的个体(引用的指针)
实例 : 实现的对象(内存空间)
Student s=new Student();
作业:
1.产生100个0-999之间的随机整数,然后判断这100个随机
整数哪些是素数,哪些不是?
程序分析:素数就是仅能被1和它自身整除的整数。判定一
个整数n是否为素数就是要判定整数n能否被除1和它自身之
外的任意整数整除,若都不能整除,则n为素数。
程序设计时i可以从2开始,到该整数n的1/2为止,用i依次
去除需要判定的整数,只要存在可以整除该数的情况,即可
确定要判断的整数不是素数,否则是素数。
【程序2】
2.在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下:
*
***
*****
*******
*********
3.将一个数组中的元素倒排过来,不能新开一个数组的临
时存储空间,只能在原数组上改。
4.创建一个数组类,数组的初始化大小为10个元素.当数组里的元素填满的时候,数组类的
容量自动的扩充10个.写一个测试类测试以上的程序!
5.(1)写一个类,名为Animal,该类有两个私有属性,name
(代表动物的名字),和legs(代表动物的腿的条数);
要求为两个私有属性提供public的访问方法。并提供
两个重载的构造方法,一个需要两个参数,分别用这
两个参数给私有属性name和legs赋值。另一个无参,
默认给name赋值为AAA,给legs赋值为4;另要求在第二
个构造方法中调用第一个构造方法。该类还有两个重
载的move()方法,其中一个无参,在屏幕上输出一行
文字:XXXMoving!!(XXX为该动物的名字);另一个需
要一个int参数n,在屏幕上输出XXX Moving n 米!!
(2)写一个类Fish,继承自Animal类,并提供一个构造方法,
该构造方法需要一个参数name,并给legs赋默认值0;该
类还要求覆盖Animal类中的无参move()方法,要求输出
:XXXSwimming!!
(3)写一个类Bird,继承自Animal类,并提供一个构造方法,
该构造方法需要一个参数name,并给legs赋默认值2;该
类还要求覆盖Animal类中的无参move()方法,要求输出
:XXXFlying!!
(4)写一个类Zoo,定义一个主方法,在主方法中分别生成若
干个Animal,Fish和Bird.并调用他们的属性和方法。
6.写一个类Person,包含以下属性:String name; int age;
boolean gender ;Person partner(配偶)。为Person类写一
个marry(Person p)方法,代表当前对象和p结婚,如若可以结
婚,则输出恭贺信息,否则输出不能结婚原因。要求在另外一
个类中写一个主方法,来测试以上程序。
下列情况不能结婚:
1,同性;
2,未达到结婚年龄,男<24,女<22;
3,某一方已婚