面向对象
1. 面向对象的两个要素:
类:对一类事物的描述,是抽象的,概念上的定义
对象:是实际存在的 该类事务的每个个体,因而也被称为实例(instance)
面向对象程序设计的重点是类的设计
设计类,就是设计类的成员
面向对象的 三大特征:封装 继承 多态
java类及类的成员:
属性:对应类的成员变量
行为:对应类的成员方法
对象:类的实例化
类和对象的使用:
package lry;
/*属性=成员变量=field=域,字段
* 方法=成员方法=函数=method
* 创建
* 类的对象=类的实例化=实例化类
*/
public class PersonTest {
public static void main(String[] args) {
//创建Person类的对象
Person p1=new Person();
p1.name="Tom";
p1.isMale=true;
System.out.println(p1.name);
p1.eat();
p1.sleep();
p1.talk("chinese");
}
}
class Person {
//属性
String name;
int age=1;
boolean isMale;
//方法
public void eat() {
System.out.println("吃饭");
}
public void sleep() {
System.out.println("可以睡觉");
}
public void talk (String language) {
System.out.println("人可以说话使用的是"+language);
}
}
小练习:
package lry;
/*
* 针对String操作
* String 不是基本的数据类型,属于引用数据类型但使用的方式与基本数据类型一致。
* char c=''// 这样编译不通过 必须要这样' '。
*/
public class Test {
public static void main(String[] args) {
String b=3.5f+" ";
System.out.println(b); //3.5 准确的来说结果是"3.5"
System.out.println('*'+'\t'+'*');//char型+做运算
System.out.println('*'+"\t"+'*');//"\t"String类型 +做连接
System.out.println('*'+'\t'+"*");// 先做运算 后做连接
System.out.println('*'+('\t'+"*"));//() 运算级别高+做连接
}
}
运行结果
3.5
93
* *
51*
* *
打印完数
package lry;
/*所谓的完数 一个数如果恰好等于她的因子之和,这个数称为完数
* 如6=1+2+3
*
*/
public class Test02 {
public static void main(String[] args) {
for(int i=1;i<=1000;i++) {
int factor=0;
for (int j=1;j<=i/2;j++) {
if(i%j==0) {
factor+=j;
}
}
if(i==factor) {
System.out.println(i);
}
}
}
}
运行结果:
6
28
496