第七天:引入继承!

这一节的内容是为引入继承的概念

要想了解并熟练使用继承,首先要知道下面这些概念:

1.类的定义:
  具有相同属性 和 共同行为的 一组 对象的集合就叫类。

  对象:该类下 真实存在的一个具体实例。
  类里定义了 该类下对象应该拥有的属性和行为。

2.类的组成部分:
  属性(private),
  方法(行为方法+get/set方法),
  构造器(全参+无参),
  代码块,不常用
  (内部类)没用过

3.成员变量 VS 局部变量
全局变量--局部变量,成员变量/实例变量:
 A.声明的位置不同:
   成员变量 :方法外,类里面
   局部变量 :方法里,结构块里

 B.作用的范围不同:
   成员变量:本类下直接使用;其他类 对象名.成员变量
   局部变量: 声明变量开始,到包裹的结构块结束

 C.优先级:局部变量> 成员变量

 D.默认值:
    成员变量有默认值,声明后 可以不赋值就使用;
    局部变量没有默认值,声明后 必须赋值 才可以使用。

 E.内存地址不同:
   成员变量:在堆里
   局部变量:在栈里

 F.作用时间/生命周期:
    成员变量:从对象创建---到对象销毁
    局部变量:从声明变量开始---到该方法执行结束。

 G:同名问题:
   作用范重复的时候,不可以有两个同名的局部变量;
                    可以有同名的成员变量 和 局部变量存在。

4.this关键字: 代表/意思  作用  使用场合/应用

  代表:类下某一个具体的实例对象。 this.成员信息。

  作用:this 可以用来调用 属性,方法,构造器
  this.属性;--->用来区分同名的局部变量和 成员变量。
  this.方法();
  this(); ---调用无参构造方法;只能出现在[构造方法中]

  使用场合: 构造器里, this.属性=值;this();---必须是第一行

5.static 关键字:
    static静态的,特点:A.提前加载,先于对象存在;B.属于整个类的资源---类名.静态资源名;

    作用:修饰 属性,方法,代码块,内部类

    static修饰的属性 叫类变量/静态变量

    该类下 所有对象[共用]静态变量;
     VS
    没有static修饰的属性 叫实例变量/成员变量
    该类下 一个对象 对应自己的一套实例变量。

     static 修饰方法: 静态方法/类方法
     A,静态方法: 可以【直接调用】 其他静态方法 和静态变量
                  如果想要调用非静态方法 和非静态变量 ,需要创建当前类对象,
                  对象名.非静态方法 和非静态变量


6.代码块  {  }
  分类:
  普通代码块(方法里的),---作用:划分作用域
      public void showFors(){
          {
              int i = 0;
              for (; i <= 10; i++) {
                  System.out.println(i);
              }
          }
          for (int i = 0; i <=15 ; i++) {
          }
      }

  构造代码块(类里面,方法外面),
    {//在实例化,初始化之前,如果需要做一些逻辑代码的编写,放在构造代码块里。
        System.out.println("我是构造代码块");
    }

  静态代码块(类里面,方法外面,static修饰),
    static{//静态代码块的作用:在类加载的时候,如果需要写一些逻辑代码,可以放在静态代码块里。
        System.out.println("我是构造代码块");
    }
  同步代码块(今天不讲,线程讲)


7.包
  作用:   A.分门别类存储java类   B.区分同名类 C.解决权限问题(默认权限修饰符,只能同包使用)。
  使用包: [创建包]--包的命名规则:
           a。包名全小写
           b。包直接的包含关系,通过.来表示
           c。一般包名是公司的域名倒着,不同模块下,在加上模块名
           d.不能使用系统关键字:nul,con,com1...com9

          [声明包] == 告诉程序 类所在的位置;
                 ==注意: package com.jr.www.demo2.pac03; 必须是当前类的第一行非注释行代码。
            package com.jr.www.demo2.pac03;

          [导入包] == 导入当前工具类;
             import java.util.Scanner; ---导进一个类
             import java.util.*; ---导进当前包下的所有类
              java.sql.Date dt1=new java.sql.Date();

              ===有一个系统包,很特殊,程序自己导入;java.lang;

             静态导入:一个类下全是静态资源
             import static java.lang.Math.*;
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值