Java复习基础篇2.0

访问权限

TODO 面向对象 - 访问权限
public : 公共的,访问权限修饰符
        Java的源码中,公共类只能有一个,而且必须和源码文件名相同
        main方法:main方法是由JVM调用的,JVM调用时应该可以任意调用,而不用考虑权限问题。
TODO Java中的访问权限主要分为4种:
  1. private : 私有的, 同一个类中可以使用
  2. (default) : 默认权限, 当不设定任何权限时,JVM会默认提供权限,包(路径)权限
  3. protected : 受保护的权限, 子类可以访问
  4. public : 公共的, 任意使用
      
 private : 同类
 default : 同类,同包(路径)
 protected :同类,同包(路径),子类
 public :公共的
所谓的访问权限,其实就是访问属性,方法的权力和限制。
谁访问?Java17_Object_Access_1 -> super -> java.lang.Object
访问谁的?Person17 -> super -> java.lang.Object(clone)
     
     成员方法可以访问静态属性,静态方法不可以访问成员属性。

单例模式

TODO 面向对象 - 单例模式
JVM默认给类提供的构造方法,其实就是公共的,无参的构造方法
1. 类的创建过程复杂
2. 类的对象消耗资源

final

Java中提供了一种语法,可以在数据初始化后不被修改,使用关键字final
1. final可以修饰变量:变量的值一旦初始化后无法修改
2. final可以修饰属性:那么JVM无法自动进行初始化,需要自己进行初始化, 属性值不能发生变化
3. 一般将final修饰的变量称之为常量,或者叫不可变变量
4. final可以修饰方法,这个方法不能被子类重写
5. final可以修饰类,这样类就没有子类了
6. final不可以修饰构造方法
7. final可以修改方法的参数,一旦修饰,参数就无法修改。

abstract

TODO 面向对象 - 抽象 - Abstract
抽象类 : 不完整的类,就是抽象类
          abstract class 类名
        因为类不完整,所以无法直接构造对象
抽象方法 : 只有声明,没有实现的方法
           abstract 返回值类型 方法名(参数)
分析问题:对象(具体) => 类(抽象)
编写代码:类(抽象) => 对象(具体)
              
如果一个类中含有抽象方法,那么这个类是抽象类
如果一个类是抽象类,它的方法不一定是抽象方法。
抽象类无法直接构建对象,但是可以通过子类间接构建对象
如果抽象类中含有抽象方法,那么子类继承抽象类,需要重写抽象方法,将方法补充完整,
abstract关键字不能和final同时使用

接口

TODO 面向对象 - 接口
所谓的接口,可以简单理解为规则
基本语法 : interface 接口名称 { 规则属性,规则的行为 }

	接口其实是抽象的
	规则的属性必须为固定值,而且不能修改。
	属性和行为的访问权限必须为公共的。
	属性应该是静态的
	行为应该是抽象的
	接口和类是两个层面的东西
	接口可以继承其他接口
	类的对象需要遵循接口,在java中,这个遵循,称之为实现(implements),类需要实现接口,而且可以实现多个接口

枚举

TODO 面向对象 - 枚举
枚举是一个特殊的类,其中包含了一组特定的对象,这些对象不会发生改变, 一般都使用大写的标识符,
枚举使用enum关键字使用
枚举类会将对象放置在最前面,那么和后面的语法需要使用分号隔开
枚举类不能创建对象,它的对象是在内部自行创建

匿名

TODO 面向对象
在模型场合下,类的名字不重要,我们指向使用类中的方法或功能。那么此时我们可以采用特殊的语法:匿名类
所谓的匿名类,就是没有名字的类

bean规范

TODO 面向对象
1. 主要用于编写逻辑
2. 主要用于建立数据模型(Bean)
    
TODO Bean类得设计规范:Bean规范
1. 类要求必须含有无参,公共的构造方法
2. 属性必须私有化,然后提供公共得,set,get方法
    
class User25 {
    private String account;
    private String password;
	//set方法
    public void setAccount( String account ) {
        this.account = account;
    }

    public void setPassword(String password) {
        this.password = password;
    }
	//get方法
    public String getAccount() {
        return account;
    }
    public String getPassword() {
        return account;
    }

}

作用域

TODO 面向对象 - 作用域
如果属性和(局部)变量的名称相同,访问时如果不加修饰符,那么优先访问变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值