day 09 面向对象、成员变量、构造方法

1.面向对象

1.1 面向对象的特点

  封装、继承、多态
  
1.2 面向对象的概念

   1.抽象 ----abstract
   	从具体的事物中,抽离出同一类事物普遍具有的性质,这一过程叫抽象
   
   2.class--类
      1.属性---成员属性/成员变量
      2.方法---成员方法
   3.对象---具体实现类
     类是对象的模板,对象是类的具体实现

2.什么是面向对象

面向过程——步骤化

面向过程就是分析出实现需求所需要的步骤,通过函数(方法)一步一步实现这些步骤,接着依次调用即可

面向对象——行为化(概念相对抽象,可结合下面的例子理解)

面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成类(类实例化后才是对象),创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为

3.成员变量和局部变量

  1位置不同
     1.1 在类中的位置不同
     	成员变量:在类中
     	局部变量:在方法中
     1.2 在内存中位置不同
	     局部变量:在栈内存中
	     成员变量:在堆内存中
  2.声明周期不同
	     成员变量:依赖于对象,对象存在它存在,对象消失它消失
	     局部变量:依赖于方法,方法调用它存在,方法结束它消失
  3.所属对象不同:
	     成员变量:属于对象
	     局部变量:属于方法
  4.使用方式不同:
	     成员变量:通过对象使用
	     局部变量:通过方法使用
 *成员变量如果和局部变量重名,采用就近原则,有局部变量就用局部变量,没有就用成员变量

4.构造方法

1.有参--初始化成员属性,生成对应的类对象,有参构造方法存在时,java编译器不会自己生成无参构造
2.无参--可以不写,如果类中没有写构造方法,由java编译器自己生成,也可以自己手动写
3.注意事项
	1.如果已经写了有参的构造⽅法, 编译器就不会再加上空参的构造了
	2.这时,如果还想使⽤空参的构造, 那么,就需要⼿动补上空参构造
	3.构造⽅法必须通过**new**关键字来调⽤, 不可以使⽤对象名来调⽤
	4.构造⽅法也是成员⽅法, 只是⽐较特殊⽽已, 所有成员⽅法的属性构造⽅法也拥有
	5.创建对象的时候, 只能调⽤⼀个构造⽅法,但构造⽅法内部可以相互调⽤
	6.本类中的成员⽅法⽆法直接调⽤构造⽅法
4.有参构造可以在创建对象的同时,初始化对象的成员属性

	//创建数组,存放输入的学生信息
public class StudentTest {
    public static void main(String[] args) {
        //创建一个Student类的数组
        Student[] students=new Student[3];
        //创建scanner对象
        Scanner scanner=new Scanner(System.in);
        for (int i = 0; i < students.length; i++) {
            System.out.println("请输入姓名:");
            String name=scanner.next();
            System.out.println("请输入年龄:");
            int age=scanner.nextInt();
            System.out.println("请输入班级:");
            String classes=scanner.next();
            
            //有参构造方法创建对象
            Student student=new Student(name,age,classes);
            //给数组元素赋值
            students[i]=student;
        }
        for (int i = 0; i < students.length; i++) {
            System.out.println("第"+(i+1)+"个元素 "+students[i].name+"\t"+students[i].age+"\t"+students[i].classes);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值