面向对象的介绍2

了解block块:
{} 块自成作用域:
    分类
局部代码块|普通代码块:1.定义在方法中
1).作用域看待
2).语义化:看见这个{}就知道范围,以及作用域
构造块:{} 定义在类中方法外
1).成员内容的初始信息,比构造器中的代码更早执行
2).对对象的某些内容进行初始化
静态块:static修饰的{} ,定义在类中方法外----也就main外到class之间的
1).会为静态内容进行初始化
2).信息的配置,资源的加载
同步块:多线程学习: Java 同步块(synchronized block)用来标记方法或者代码块是同步的。Java 同步块用来避免竞争
/*
  • Java 同步关键字(synchronzied)
  • 实例方法同步
  • 静态方法同步
  • 实例方法中同步块
  • 静态方法中同步块
  • Java 同步示例
*/
实例方法同步:
public synchronized void add(int value){
this.count += value;
}

静态方法同步:

public static synchronized void add(int value){
count += value;
}

实例方法中的同步块

public void add(int value){
synchronized(this){
this.count += value;
}
}
静态方法中的同步块:
public class MyClass {
public static synchronized void log1(String msg1, String msg2){
log.writeln(msg1);
log.writeln(msg2);
}
public static void log2(String msg1, String msg2){
synchronized(MyClass.class){
log.writeln(msg1);
log.writeln(msg2);
}
}
}
构造块中的代码会先于构造器中的代码之前执行
如果存在多个构造块,会从上到下依次执行
静态块在类的第一次加载完成之后会执行,并且会执行一次
执行的顺序:静态块-->main-->创建对象-->构造块-->构造器
{//不在main中,但是在类中
        System.out.println("构造块1");
        System.out.println(i);
        System.out.println(this.j);  //当前new的对象
    }
//静态块
    static{//拥有static
        System.out.println("静态块1");
        System.out.println(i);
        //非静态的成员变量j不能直接在静态内容中使用,需要跟随对象
        //System.out.println(j);
    }
//局部代码块
        {//在main中的代码块
            int i = 10;
            System.out.println(i);
        }
this关键字:
指代当前对象(new的对象)-->存储所有指向的对象的地址
构造器的首行调用本类中的其他构造器
this(参数列表)
区分同名的成员与局部的问题
默认就近原则(谁近选择谁)
如果出现同名问题,想要指代调用成员,通过this.成员-->因为this指代对象
,通过对象调用成员
如果没有同名问题,可以省略this。调用成员
在构造器中使用this,默认指代当前new的对象,存储的是this的对象的地址
在的成员方法中使用this,this在成员方法中默认指代当前调用成员方法的独享
注意:
1.多个构造器之间不能相互调用,否则无法停止调用
2.在static修饰的内容中不能使用static
//例子
  public static void main(String[] args) {
        Dog dog = new Dog("斑点波比","萨摩耶","白色");
        dog.show();
        Dog dog2 = new Dog("小白");
        dog2.show();
        System.out.println("dog2的地址"+dog2);
    }
}
class Dog{
    public String name;
    public String type;
    public String color;
    //构造器
    public Dog(){
        System.out.println("空构造");
    }
    public Dog(String name){
        System.out.println("一个参数构造");
        this.name = name;
        System.out.println("this地址" + this);
    }
    public Dog(String name,String type){
        System.out.println("二个参数构造");
        this.name = name;
        this.type = type;
    }
    public Dog(String dogName,String dogType,String dogColor){
        this(dogName,dogType);
        color = dogColor;
        System.out.println("三个参数构造");
    }
    public void lookDoor(){
        System.out.println(name+"正在看家....");
    }
    public void show(){
        String name = "局部的name值";
        //this在成员方法中默认指代当前调用成员方法的对象
        System.out.println(this.name+"-->"+type+"-->"+color);
    }
static 静态的
        成员修饰符 : 只能修饰成员位置的内容,不能修饰局部
        修饰变量 : 静态变量|类变量
        修饰方法 : 静态方法|类方法
        修饰块 : 静态块
        修饰类 : 静态内部类
//成员位置:成员变量和成员方法
        静态内容的使用:
                    1.跟随类名使用
                        类名.静态变量名
                        类名.静态方法名(参数列表);
                    2.跟随对象使用
                        引用.静态变量名
                        引用.静态方法名(参数列表);
        成员是是属于对象的
        静态的是属于类的
        成员变量 :
            被static修饰的变量 --> 静态变量|类变量
            不被static修饰的变量 --> 实例变量
        成员方法:
            被static修饰的方法 --> 静态方法|类方法
            不被static修饰的方法 --> 实例方法
        注意:
            this只能使用在非静态环境中
            在非静态方法中使用this,默认指代当前调用实例方法的对象
            静态内容是独一份的,静态变量存在与静态区中,多个对象共享的资源
            成员内容跟随对象存在与对象的堆内存中,多个对象,就有多份成员
            初始加载顺序: 先静态后成员
            静态内容在类第一次加载完成之后就会进行初始化
            成员变量必须在执行到new对象的时候,才会存在对象的堆内存,在对象的堆内存中才会有成员变量
*/
//例子
//成员位置: 类中方法外
    //实例变量
    int i = 1;
    //静态变量
    static int j = 2;
    //静态方法
    public static void main(String[] args) {
        //测试静态内容使用方式
        System.out.println(j); //本类中可以省略类名直接使用
        System.out.println(Class001_Static.j);
        Class001_Static cs = new Class001_Static();
        Class001_Static cs2 = new Class001_Static();
        System.out.println(cs.j);
        //测试实例变量的使用
        System.out.println(cs.i);
        //System.out.println(Class001_Static.i);
    1.在静态内容中,可以直接使用静态的内容,需要跟随对象使用成员
    2.在成员内容中,可以直接 使用静态内容,可以直接 使用成员内容
    this不能使用在静态环境中,静态的方法可以直接跟随类调用,可以能根本不存在对象,静态方法的this,无法指代某个对象

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园建设方案旨在通过先进的信息技术,为师生提供一个全面智能的感知环境和综合信息服务平台。该方案正处在从信息化第二阶段向第三阶段过渡的关键时期,致力于实现校园服务和管理的全面智能化。 方案的核心目标是构建一个集成的校园地理信息服务平台,通过该平台实现资产管理、房产信息管理、基础设施管理、绿化管理和能源监测管理等功能。同时,该平台将提供校园漫游、信息服务、指引服务、活动通知、用房服务和客流统计等多样化服务,以促进校园的和谐、绿色、平安和便捷。 在技术层面,智慧校园建设方案强调系统集成能力、数据统一分析能力、系统资源共享能力以及大数据集成处理能力。通过这些能力,可以构建统一的校园地理信息平台,提供综合的应用支撑和管理能力,实现系统平滑演进。 应用方向上,智慧校园建设方案围绕和谐校园、绿色校园、平安校园和掌上校园四个维度展开。和谐校园侧重于提供校园漫游、信息服务、指引服务等,增强师生的校园体验。绿色校园则关注资产管理和能源监测,推动校园的可持续发展。平安校园通过视频监控、数字巡更等手段,确保校园安全。掌上校园则利用移动设备,实现校园服务的随时随地访问。 最终,智慧校园建设方案将通过三维虚拟校史馆、720度成像技术等创新应用,提供身临其境的校园漫游体验,同时通过可视化管理和数据分析,优化校园资源配置和运营效率,实现校园管理的智能化和现代化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值