从零开始学Java---类的基本使用

类的基本使用(学习笔记)

类成员权限

访问级别同类同包子类不同包
public
protect×
default××
private×××

类权限

访问权限访问等级
public公有访问权限
默认包级访问权限,只能在当前包中访问

权限用于封装

封装概念
  • 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
封装的步骤
  1. 私有化
  2. 提供getter和setter方法
  3. 在getter和settter方法中,添加判断语句
public class cat {
	//私有属性
	private String name;
	private int age;
	 static {
        System.out.println("静态代码块");
    }
    {//构造代码块: 在所有的构造方法执行之前,执行; 可以用于提高代码复用性
        System.out.println("构造代码块");
    }
	public cat(){
	        System.out.println("构造方法");
	}
	public cat(String name,int age){
			this.name = name;
			this.age =age;
	        System.out.println("构造方法");
	}
	
	public void eat(){
	        System.out.println("普通方法");
	]
	//对包装属性的外部接口
    public Sting getName() {
        return name;
    }
    public void setName(Sting name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}
构造方法5原则:

构造方法作用是对类进行初始化

  1. 构造方法 必须与类名同名
  2. 构造方法 参数可有 可没有
  3. 构造方法 不能有 返回值(void 也不能有)
  4. 一个类 可以有 多个 构造方法
  5. 构造方法伴随new一起使用

注:

  • 构造方法可以私有,外部无法使用私有构造方法创建对象
  • 类定义时提供默认的无参构造方法
  • 构造方法不能被继承、覆盖、直接调用
  • 构造方法可以有return语句,结束构造方法
代码块
局部代码块

局部代码块 : 规定变量作用域

构造代码块

构造代码块: 在所有的构造方法执行之前,执行; 可以用于提高代码复用性

特点:

特点:每次在执行构造方法之前,如果当前类中有构造代码块,优先执行构造代码块,然后在执行构造方法!

public class User {
    String username;

    {
        System.out.println("构造代码块");
    }
    public User() {
        System.out.println("无参构造");
    }
静态代码块
特点:

只执行一次,被static修饰的,都和类有关系!

public class User {
    String username;
    static {
        System.out.println("静态代码块");
    }
    public User(String username) {
        this.username = username;
        System.out.println("有参构造");
    }
优先级

关于构造代码块,静态代码块,构造方法之间的优先级?
静态代码块 > 构造代码块 > 构造方法
父类 > 子类

static

属性,方法,代码块

特点:
  • 静态的随着类的加载而加载,
  • 优先于对象而存在,
  • 为所有对象所共享,
  • 可以通过类名调用

静态变量:

特点:
class  staticTest {
    int age;
    static String staticword;
}

class staticTest Demo {
    public static void main(String[] args) {
        staticTest t = new staticTest ();
        t.age = 10;
        //可以通过类名调用,为所有对象共享
        staticTest .staticword = "这是一个静态字段";
    }
}

静态方法:

特点:​

静态的不能直接访问非静态的
非静态的可以访问静态的

静态代码块:

作用:

可以对静态的属性进行初始化

规则:

​ 随着类的加载而加载,只执行一次。
静态代码块 > 构造代码块 > 构造方法
父类 > 子类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值