JAVA第五天之学到辽~
1.1 递归
(1) 递归概述: 方法定义中调用方法本身的现象
(2 )递归注意事项
(3) 要有出口,否则就是死递归
(4)递归例子
import java.util.Scanner;
public class MyWork {
/*
求某个数的阶乘 */
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数字");
int num = scanner.nextInt();
int jiecheng=digui(num);
System.out.println(jiecheng);
}
public static int digui(int x) {
if(x==1){
return 1;
}
return x*digui(x-1);
}
}
1.2 类与对象
类和对象的概念
(1) 类:是一组相关的属性和行为的集合
(2) 对象:是该类事物的具体体现
(3) 举例:
- 类 学生
- 对象 班长就是一个对象
定义类其实就是定义类的成员(成员变量和成员方法)
(1) 成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
(2) 成员方法 和以前定义方法是一样的,只不过把static去掉,
(3) 成员变量相当于一类事物的属性,而成员方法相当于这种事物可以干的事情即行为
1.3 学生类的例子
学生事物
属性: 姓名 , 年龄 ,
行为: 吃饭 , 睡觉 , 学习
public class student {
String name;
double age;
public void eat() {
System.out.println("吃饭");
}
public void sleep () {
System.out.println("睡觉");
}
public void study() {
System.out.println("学习");
}
}
.........................................................................
public class test {
public static void main(String[] args) {
student student1=new student();
student1.name="李某人";
student1.age=18;
System.out.println(student1.age);
System.out.println(student1.name);
student1.eat();
student1.sleep();
student1.study();
}
}
1.4 成员变量和局部变量的区别
(1) 成员变量在类中方法外,而局部变量在方法内
(2) 成员变量在堆内存,而局部变量在栈内存
(3) 随着对象的创建而存在,随着对象的消失而消失,随着方法的调用而存在,随着方法的调用完毕而消失
(4) 成员变量有默认初始化值,局部变量没有默认初始化值,必须定义,赋值,然后才能使用。
1.5 方法的形式参数是类名的时候
基本类型:
(1) 形式参数的改变不影响实际参数
(2) 引用类型:形式参数的改变直接影响实际参数
方法的参数是类名:
看到一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的“对象”
1.6 匿名对象
匿名对象: 就是没有名字的对象
匿名对象应用场景:
(1) 调用方法,仅仅只调用一次的时候
(2) 匿名对象可以作为实际参数传递
1.7 封装
(1) 封装的概念:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
(2) private
是一个权限修饰符,可以修饰成员变量和成员方法,被其修饰的成员只能在本类中被访问
1.8 使用private 关键字的例子(学生类的例子)
********(1)*********
public class student {
private String name;
private double age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getAge() {
return age;
}
public void setAge(double age) {
this.age = age;
}
public void eat() {
System.out.println("吃饭");
}
public void sleep () {
System.out.println("睡觉");
}
public void study() {
System.out.println("学习");
}
}
.............................................................................
public class test {
public static void main(String[] args) {
student student1=new student();
student1.setName("李某人");
student1.setAge(18);
student1.getName();
student1.getAge();
System.out.println(student1.getAge());
System.out.println(student1.getName());
student1.eat();
student1.sleep();
student1.study();
}
}
................................................................................
*******(2)*******
public student() {
}
public student(String name, double age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getAge() {
return age;
}
public void setAge(double age) {
this.age = age;
}
public void eat() {
System.out.println("吃饭");
}
public void sleep () {
System.out.println("睡觉");
}
public void study() {
System.out.println("学习");
}
}
............................................................................
public class test {
public static void main(String[] args) {
student student1=new student("李haha",18);
student1.getName();
student1.getAge();
System.out.println(student1.getAge());
System.out.println(student1.getName());
student1.eat();
student1.sleep();
student1.study();
}
}