Java基本概念-类和对象

1 对象:万事万物皆对象,对象有状态(本身固有的属性)和行为(什么样的功能,能力)
2 类:相同状态,相同行为的一组对象的集合,是对象的概念模板
3 类的定义(类中只有属性和方法):状态(属性,变量),行为(方法)
  类定义的语法:[类修饰符] class  类名{类体}
4 成员变量:定义在类中的变量,成员变量必须一个一个定义,不能连续定义,类中的变量直接包含在类体内,方法中的变量不是类的变量
   局部变量:定义在方法中的变量,可以连续定义
5 对象实例化:类名 对象名=new 类名()
   对象的引用:对象名.属性名(参数)          对象的引用指向对象的实例
6 this:方法中使用成员变量时可以使用,表示当前类的当前对象,当前对象的引用

 this.属性名,this.成员方法名(参数):this表示调用本属性(方法)的对象

一 面向对象编程
 
 1 面向对象分析(OOA)
 
 2 面向对象设计(OOD)
 
 3 面向对象分析与设计(OOAD)
 
 4 面向对象编程(OOP)
 
二 方法重载(overload):继承关系中也可以重载(设计时多态)
 
 1 方法重载是指同一类中定义的多个方法中,各方法的方法名相同,方法参数不同(个数,顺序,类型)
 
 2 方法重载与返回值无关,与参数名称无关
 
 3 调用时,根据参数匹配原则,由Java程序自动调用对应的方法
 
三 封装
 
 1 封装是指对代码的一种保护作用,限制类成员可以在什么范围被访问(赋值和取值)
 
 2 通过访问修饰符实现封装
 
 3 控制成员的访问修饰符有:
 
    public:公有的,任何地方都可以被访问
 
    成员前不加任何修饰符:默认的,同包中可以被访问
 
    private:私有的,只能在当前类中被访问
 
    protected:受保护的,同胞和子类中可以被访问(专为继承设计)
 
 4 属性访问器:使得其他成员通过公有方法访问私有属性
 
   set/get方法:set:赋值方法
 
                          get:取值方法
 
   set,get同时使用,既可以赋值私有属性,也可以对私有属性取值
 
   只有set方法时,只写属性,只能对私有属性赋值
 
   只有get方法时,只读属性,只能对私有属性进行取值
 
 5 一个类文件中只能有一个public类,不能有多个,public类的类名必须与文件名一致
 
四 继承
 
 1 继承的好处:简化类的设计
 
 2 使用extends关键字实现,子类自动继承父类所有的属性和方法(构造方法除外)
 
 3 Java是单继承的,任何一个类都只有一个直接父类,没有直接父类的类默认继承Object类
 
 4 Java中的所有类都 直接或间接继承Object类
 
 5 子类继承父类后,new子类时,父类也new了
    
 6 new子类时,先调用子类的构造方法,再调用父类构造函数
 
   运行时,先运行父类的构造方法,再运行子类的构造方法
 
 7 方法重写(override),子类继承父类后,发现从父类继承的方法不能满足子类的需要,子类可以重写定义该方法,封装不能变小
 
 8 方法重写就是将原来父类中定义的方法覆盖掉 父类中的方法是无参的,重写的方法与父类中无参方法名相同
 
 9 子类的构造函数中用super()调用父类无参的构造函数,用super(参数名1,参数名2)调用父类有参的构造函数  
 
 10 使用super关键字时,要讲super()语句放在子类构造方法的最前面
 
 11 属性在哪个类定义的,就在哪里赋值(初始化)
 
 12 this和super:this调用子类自己的
                  
                 super调用父类的



默认值
1 方法中的变量没有默认值
2 类的属性中:引用类型的默认值是null
                          基本类型中,int long byte short的默认值是0,double float的默认值是0.0,char的默认值是\0,boolean的默认值是false 

构造方法(构造函数)
1 构造方法的特征:方法名和类名相同,没有返回值,不写void
2 构造方法不允许使用对象对其调用
3 构造方法的作用:为正在创建的对象的属性初始化
4 构造方法是在实例化对象时自动调用
5 不定义构造函数时,类自己有默认的无参的构造函数;定义构造函数时,系统默认的构造函数就没有了
6 调用构造函数:(1)对象实例化(new)时;(2)super
7 对象实例化中调用函数时参数传值与构造函数中的参数类型需要一 一对应


1 包的命名不能以数字开头,应该是小写字母
2 包相当于一个目录,包中的类相当于文件
3 jcl:Java类库
4 导包用的关键字是:import
   导入一个包中的一个类:import 包名.类名;
   导入一个包中的所有类:import 包名*;

 static
1 类的成员包括被static修饰的静态成员(属性和方法)和实例成员(属性和方法)
2 实例成员是在new时才分配内存的,分配在堆中,new一次就分配一次内存,new多次就分配多次,由对象名来调用
   类成员是在类第一次加载时分配内存的,分配在系统全局区中,只分配一次内存,由类名来调用,也可以有对象名来调用
3 在系统全局中分配内存的有静态的量和字面量
4 方法中的局部变量不能使用static修饰,因为局部变量是对象的方法中的变量,而static所修饰的成员是为类提供的
5 静态成员也叫类成员,静态变量不依赖对象存在,而实例变量依赖对象而存在,必须先实例化对象,再使用实例变量
6 静态方法在同一类中调用时,类名可以省略
7 静态方法:可以直接调用静态变量和静态方法,访问实例变量和实例方法时,必须先new对象,new完之后再调用,不能使用this
   实例方法:同一个类中可以直接调用实例变量和实例方法,也可以通过类名.静态方法名 (参数),类名.静态变量名调用静态成员,可以使用this
8 实例变量是为对象准备的,静态变量是为类准备的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值