@MRsunhuimin
2019-07-22T11:02:42.000000Z
字数 2345
阅读 191
java基础
作者:孙慧敏
1. 面向功能划分软件结构
2. 自顶而下
3. 最小的子系统是方法
4. 制约了软件的可维护性和可扩展性
1. 把软件系统看成各种对象的集合
2. 系统结构较稳定
3. 子系统相对独立
4. 软件可重用性、可维护性和可扩展性强
对象:用来描述客观事物的一个实体,由一组属性和方法构成
1. 对象具有的各种特征
2. 每个对象的每个属性都拥有特定值
方法:对象执行的操作就是方法
方法的注意事项
1,方法必须定义在类中,方法外
2,方法不能定义在方法中
类:具有相同属性和方法的一组对象的集合
类是对象的抽象,对象是类的具体(实体)
public class 类名 {
//定义属性部分
属性1的类型 属性1;
…
属性n的类型 属性n;
//定义方法部分
方法1;
…
方法m;
}
1. 定义类的步骤:
(1)定义类名
(2)编写类的属性
(3)编写类的方法
2. 类名首字母大写
特点:
1. 用于分析和设计“类”
2. 直观、容易理解
————————————————————————————————
dog(类名)
————————————————————————————————
+(public) name(属性名):String(类型)
+ health:int
-(private) love:int
————————————————————————————————
+ print( )(方法名) : void(返回值类型)
使用对象的步骤:
1. 创建对象
2. 类名 对象名 = new 类名();
School center = new School();
引用对象成员:使用“.”进行以下操作
引用类的属性:对象名.属性
引用类的方法:对象名.方法名()
center.name = "课工场"; //给name属性赋值
center.showCenter(); //调用showCenter()方法
方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果
类的方法定义类的某种行为(或功能)
两种情况:
3.1.1 如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该值的类型(返回值只能有一个)
3.1.2 如果方法没有返回值,返回值类型为void
方法之间允许相互调用,不需要知道方法的具体实现,实现重用,提高效率
情况 | 举例 |
---|---|
Student类的方法a( )调用Student类的方法b( ),直接调用 | public void a( ) { b( );//调用b( ) } |
Student类的方法a( )调用Teacher类的方法b( ),先创建类对象,然后使用“.”调用 | public void a( ) { Teacher t = new Teacher( ); t.b( ); //调用Teacher类的b()} |
<访问修饰符> 返回类型 <方法名>(<形式参数列表>) {
//方法的主体
}
对象名.方法名(参数1, 参数2,……,参数n)->实参列表
4.2.1 调用方法时不能指定实参类型
4.2.2形参和实参数据类型和数量要一致
基本数据类型和引用数据类型数据在传参时区别:
基本数据类型,操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。引用数据类型(类、数组和接口),赋值是把原对象的引用(可理解为内存地址)传递给另一个引用
public class Test {
public void calc1(int num){
num=num+1;
}
public void calc2(Student student){
student.age=student.age+1;
}
}
//测试类
Test test=new Test();
int n=8;
test.calc1(n);
Student stu=new Student();
stu.age=18;
test.calc2(stu);
System.out.println(n+"---"+stu.age);
输出结果:8---19
访问修饰符 构造方法名 ( ) {
//初始化代码
}
特点:
5.1 无返回值类型
5.2 方法名与类名相同
5.3 可以指定参数
作用
对象初始化(系统提供默认无参构造方法)
自定义构造方法
5.2.1 方法名相同
5.2.2 参数项不同
5.2.3 与返回值、访问修饰符无关
此时系统不再提供默认无参构造方法
public Student(){}
public Student(String name,int age){
this.name=name;
this.age=age;
}
带参构造方法this关键字,是对一个对象的默认引用这里用以区分同名成员变量
调用属性
this.health = 100;
this.name = "大黄";
调用方法
this.print();
调用构造方法
this();
this("小黑",100,100,"雄");
//如果使用,必须是构造方法中的第一条语句
特点:
7.1 同一个类中
7.2 方法名相同
7.3 参数个数或类型不同
7.4 与返回值、访问修饰符无关
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的
Java会给成员变量一个初始值
Java不会给局部变量赋予初始值
在同一个方法中,不允许有同名局部变量,在不同的方法中,可以有同名局部变量
在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级