前言
初学Java,我们利用简单项目来锻炼,那么一旦达到入门级,我们渐渐开始发现我们的代码有较高的重复性,也就是说性能没那么好,说难听一点,叫菜圾代码。所以我们要考虑几点。
第一,优化。比如能不能用循环,更甚者嵌套循环。
第二,项目结构。比如我们建房子,我们不是简单的搭积木,我们要考虑,所搭建的这个结构能够承受什么样的环境压力,东方明珠那么高,只是一块砖一块砖直接往上沓吗,是直接弄一个那么高那么长的钢筋杵在那吗,并不是,不然别说变成危楼了,恐怕还没建完就塌了;那我们做项目也一样的,比如我就一个专业类,你从头从main写到尾,一个项目5000到一万行,没啥方法,能行吗,这样的代码可读性是很差的,没有层次,做好的项目一定要有层次结构。
第三,性能。如上所述,如果我们没有层次结构,没有封装方法,那么核心的代码很容易泄露,直接影响了整个项目的安全性。
此外,还有数据安全。项目扩展性、轮廓性,这我们等后面做更多的项目的时候自然会讲到。
一、方法定义与实现的理解和 实践(类于计算器)
public class test {
public static void main(String[] args){
// 数组传参
double array[] = new double[]{12,45,6.6,67.8} ;
String str = "123";
double sum = doComputer (array,'+');
System.out.println(sum);
for (int i = 0;i< array.length ; i++){
System.out.println(array[i]);
}
System.out.println(str);//看看打印出来的是地址还是值
// 值传参
// double sum = doComputer(129,34.7,'+');
// System.out.println(sum);
}
// 为什么数组是地址传参(因为它是引用数据类型) ---》不一定是穿地址
// 八大基本数据类型以及String ---》值传参
// 引用数据类型 基本数据类型 区别:
// 写上点.如果能点出来运行,则为引用数据类型
public static double doComputer(double[] array, char op){
double sum = 0;
// 运算
for (int i=0;i< array.length;i++){
sum += array[i];
array[i] += 10;
}
return sum;
}
}
二、存储
对象--->特征--->分类--->存储
1.类的定义 Animal
2.对象 需要new一个 new Animal()
内存创建了一个空间,调用构造方法,构造方法:方法与类名相同,无返回值类型;可以对类中属性及逆行初始化
new时 调用哪个构造方法
访问对象中的方法 属性 animal sleep
详情如下
package com.cy;
public class Animal {// 特征 全局变量 类的成员
//特征
int age;
String name;
String type;
// 方法
public Animal(){
System.out.println("调用无参构造方法");
}
public Animal(String name,int age,String type){
//局部变量
System.out.println("调用有参构造方法-----");
// name = name;
// age = age;
// type = type; //这样是无法赋值的需要this一下
this.name = name;
this.age = age;
this.type = type;
}
public void sleep(){
System.out.println(age+"岁的"+type+name+"正在睡大觉------");
}
}
// 以下是Main.class里的内容
package com.cy;
public class Main {
public static void main(String[] args){
// 小猫
Animal cat = new Animal("小花",1,"布偶猫");
cat.name = "小花";
cat.age=1;
cat.type ="布偶猫";
cat.sleep();
}
}