JAVA修练秘籍第五章《卧薪尝胆》

18 篇文章 0 订阅
13 篇文章 0 订阅
本文详细介绍了JAVA的面向对象特性,包括类和对象的概念,类的实例化,属性的默认值,方法的构造器,以及static关键字的用法。讲解了静态属性和方法的访问方式,封装的作用,以及构造方法在对象初始化中的重要性。此外,还提及了代码块的基本概念和执行顺序。
摘要由CSDN通过智能技术生成

往期:
JAVA 修炼秘籍第一章:《痛苦的折磨》
JAVA 修炼秘籍第二章:《逐渐魔化》
JAVA 修炼秘籍第三章:《绝地反击》
JAVA 修炼秘籍第四章:《闭关修炼》


在这里插入图片描述


一、类和对象

开起重要知识点,JAVA语言是面向对象的,那么什么是面向对象呢?下面图是我脑子里第一个想到的画面请欣赏
在这里插入图片描述

哈哈哈哈,是不是很神奇,但是面向对象真的就是这么甜蜜吗,我们来正确理解一下什么是面向对象。

在这里插入图片描述

注释部分: 面向对象只是一种思考方式,可以把一个复杂的问题变得简单只要面向一个对象即可,类就是一类的统称,对象就是这一类具体化的实例。

1.类的实例化

在这里插入图片描述

通过实例来理解感受,比如有一个很大的花坛,这个花坛可以种很多的花,那么这个花坛就是一个类,由这个花坛(类)可以种(生成)很多的花(对象)。
一个类可以实例化产生很多个对象。
接下来我们看代码中如何生成一个类:

1class Person{2public int age;3public String name;4public String sex;5public void study(){
	         System.out.println("学习");
	     }6public void up(){
 	        System.out.println("向上");
	     }
	 }
 	public class Prog {
	     public static void main(String[] args) {7Person person=new Person();8)        person.study();9)        person.up();10System.out.println(person.age);11Person person2=new Person();12Person person3=new Person();
   	 	  }
   	 }

注释部分(按照对应数字,进行注释);
1:创建类的关键字class后面Person为类名
2:成员属性,实例变量。
3:与2相同
4:与2相同
5:成员方法
6:与5相同
7:创建Person类的对象,类中的非静态属性与方法都可以通过该对象来进行引用或调用。(非静态与静态后面理解)。
8:对象名加.即可访问类中属性与方法。
9:与8相同。
10:与8相同。
11:我们前面说到,一个类可以创建多个对象,创建过Person我们后续还可以创建很多。
12:与11相同。

注意事项:
1:实例化一个成员需要,为对象分配内存。
2:调用合适的构造方法。

2.属性

如果属性未初始化,那么默认值是多少?属性在创建时除非必要,尽量不要赋初始值。

引用类型默认为  null。
简单类型默认为  0Boolean默认为  falsechar默认为     '\u0000';

3.方法

方法中还有一种方法称为“构造方法” 在实例化对象的时候会被自动调用到的方法, 方法名字和类名相同, 用于对象的初始化.
虽然我们前面已经能将属性就地初始化, 但是有些时候可能需要进行一些更复杂的初始化逻辑, 那么就可以使用构造方法.
后面我们会详细介绍构造方法的语法.

二、static关键字

在这里插入图片描述

static关键字,是可以修饰属性,方法,代码块,类。

1.修饰属性

当你将属性修饰后,这个静态的属性就有类相关,而不是与实例对象相关, 看一段代码,我们通过图片来理解:

class TestDemo{
    public int a;
    public static int count; }
public class Main{
    
 public static void main(String[] args) {
        TestDemo t1 = new TestDemo();
        t1.a++;
        TestDemo.count++;
        System.out.println(t1.a);
        System.out.println(TestDemo.count);
        System.out.println("============");
        TestDemo t2 = new TestDemo();
        t2.a++;
        TestDemo.count++;
        System.out.println(t2.a);
        System.out.println(TestDemo.count);
   }
}

在这里插入图片描述

注释部分:
1:当属性count被static修饰后,所有类都可以共享,并且不属于对象。
2:访问方式也发生改变,被static修饰后访问形式变为:
类名(TestDemo). 属性(count)

2.修饰方法

修饰方法后称为静态方法,
静态方法属于类,而不属于类的对象。
可以直接调用静态方法,而无需创建类的实例。
静态方法可以访问静态数据成员不可以访问非静态数据成员,并可以更改静态数据成员的值。

class TestDemo{
    public int a;
    public static int count;
    public static void change() {
        count = 100;
        //a = 10; 不可以访问非静态数据成员
   }
}
public class Prog{
 public static void main(String[] args) {
        TestDemo.change()//无需创建实例对象 就可以调用
        System.out.println(TestDemo.count);   
   }
}

注释部分:
1.静态方法不能直接使用非静态数据成员或调用非静态方法(非静态数据成员和方法都是和实例相关的).
2.this和super两个关键字不能在静态代码块中使用(this 是当前实例的引用, super是当前实例父类实例的引用, 也是和当前实例相关).

三、封装

在这里插入图片描述

在说封装前先理解一下,下面这三位访问修饰限定符是干嘛用的。

public——>公有的。
private——>私有的。
protected——>受保护的。
如果你在创建时什么也不加,默认为——>包访问。

作用:
封装就是用private来修饰属性或方法,修饰后的属性或方法只能在此类中使用。

当修饰过后,安全度大大提高,访问方式方法也不一样了,代码如下:

class Person { 
	private String name;
 	private int age; 
	public void setName(String name){ 
		this.name = name;
	} 
	public String getName(){ 
		return name; 
	} 
	public void show(){ 
		System.out.println("name: "+name+" age: "+age); 
	} 
} 
public static void main(String[] args) { 
	Person person = new Person(); 
	person.setName("caocao"); 
	String name = person.getName(); 
	System.out.println(name); 
 	person.show(); 
}

注释部分:

1.当修饰过后我们发现,类创建的实例对象,没有办法直接进行访问,而是通过类中的方法进行访问,
2.从中可以看出代码的安全程度,也不会随着类中修改属性成员名导致后续代码大费周章。
3.get是获取,set是修改,Alt+insert (f12),可以快捷创建这两个方法。

四、构造方法

在这里插入图片描述

作用:
构造方法是一种特殊方法, 使用关键字new实例化新对象时会被自动调用, 用于完成初始化操作。
在我们通过new创建了一个实例对象后如果你没有创建构造方法,编译器会为你自动创建一个默认无参构造方法来进行初始化,如果自己创建了,编译器则不会自动再生成。
构造方法支持重载,方法与往期内容中的重载方法相同。
下面看一下代码:

class Person {
    private String name;
    public Person1() {
        this.name = "zhang";
    }
    public Person2(String name) {
        this.name = name;
    }
}
public class Prog{
    public static void main(String[] args) {
        Person person = new Person1();
        Person person2 = new Person("zhang");
    }
}

注释部分:
Person1为编译器默认生成的构造方法,给实例出来了,正常不会显示。
Person2为自己创建的构造方法
注意事项:
构造方法名必须与类名相同。
构造方法没有返回值类型。
每一个类中都会有一个构造类型,你不创建编译器也会给你默认创建。

五、代码块

在这里插入图片描述

什么是代码块,不知如何为君表达,还是画一下吧。

在这里插入图片描述

每个颜色对应的就是代码块。
代码块分为如下4种:
1:本地代码块——>不常用。
2:实例代码块——>定义在方法的外面,类的里面。
3:静态代码块——>定义在方法的外面,类的里面。
4:同步代码块——>我也不会,嘻嘻。
我们先了解2,3就可以1不常用。

1.实例代码块

构造代码块一般用于初始化实例成员变量,且只能初始化实例成员。
代码如下:

class Person{
    public String name; 

    {
		this.name = "zhang"; 
	}
}
public class Prog {
    public static void main(String[] args) {
    	System.out.println(person.name);
    }
}

2.静态代码块

使用static定义的代码块。一般用于初始化静态成员属性。且只能初始化静态成员。
代码如下:

class Person{
    public static String name; 

    {
		this.name = "zhang"; 
	}
}
public class Prog {
    public static void main(String[] args) {
    	System.out.println(Person.name);
    }
}

注意事项:
1.生成多少个静态代码块,都只会执行一个。
2.静态代码块是程序运行时最先执行的。

运行顺序是:
静态代码块——>实例代码块——>构造函数。

本章结束,感谢观光,下章再见。
在这里插入图片描述

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 《数据库系统工程师五天修练》是一本关于数据库系统工程师职业技能培训的书籍,通过五天的修炼,帮助读者系统地学习和掌握数据库系统工程师的知识和技能。 这本书的主要内容包括数据库系统的基础知识、数据库管理和维护、性能优化、数据备份与恢复等方面。通过分析实际案例和练习,读者可以深入了解数据库系统的原理和实践应用。 首先,第一天的修炼主要介绍数据库系统的基础知识,包括数据库概念、数据库模型和范式、SQL语言基础等。读者可以通过学习这些知识,了解数据库系统的基本构成和运作方式。 接下来,第二天的修炼聚焦在数据库管理和维护方面。读者将学习如何创建和管理数据库,包括表的创建和修改、索引的使用和优化等。此外,还将讨论数据库的安全性和权限管理,以及常见的故障处理和故障恢复方法。 第三天的修炼着重介绍数据库的性能优化。通过学习索引的设计和使用、查询语句的优化、数据库参数的调整等技术,读者可以提高数据库系统的性能和响应速度。 第四天的修炼关注数据备份与恢复。读者将学习数据库备份和恢复的方法和策略,以确保数据库的安全性和可恢复性。此外,还将介绍常见的数据迁移和数据同步技术。 最后,第五天的修炼将通过实际案例和练习,帮助读者将所学的知识应用到实际工作中。通过解决真实问题,读者可以加深对数据库系统工程师职业技能的理解和应用。 总之,《数据库系统工程师五天修练》是一本有助于数据库系统工程师提升职业技能的实用指南。通过系统的学习和实践,读者可以全面掌握数据库系统的原理和实践技术,提高自己在数据库管理和维护、性能优化、数据备份与恢复等方面的能力。 ### 回答2: 《数据库系统工程师五天修炼.pdf》是一本关于数据库系统工程师修炼的书籍。在这本书中,作者介绍了数据库系统工程师的基本知识和技能,并提供了一系列的实践案例和习题,帮助读者在五天内快速提升自己的数据库系统工程师能力。 首先,该书从数据库的基本概念和原理讲起,介绍了关系型数据库、非关系型数据库以及分布式数据库等不同型的数据库系统。读者可以通过学习这些基本知识,了解数据库的结构和运作原理。 其次,该书还介绍了数据库的设计和优化技巧。数据库的设计是数据库系统工程师的核心工作之一,它涉及到表结构设计、数据模型设计等方面,而优化则是提高数据库性能和效率的重要手段。通过学习这些技巧,读者可以学会如何设计出高效的数据库系统。 此外,该书还介绍了SQL语言和存储过程的使用。SQL是数据库系统工程师必备的编程语言,它可以用来操作和管理数据库。而存储过程是数据库中一组预定义的SQL语句集合,可以用于实现复杂的业务逻辑。通过学习SQL语言和存储过程的使用,读者可以掌握数据库的操作和管理技能。 最后,该书还介绍了数据库系统的安全和备份恢复策略。保证数据库系统的安全性是数据库系统工程师的重要职责之一,而备份恢复策略则是防止数据丢失和业务中断的关键措施。通过学习这些策略,读者可以了解如何保障数据库系统的安全性和可靠性。 总的来说,《数据库系统工程师五天修炼.pdf》是一本系统全面介绍数据库系统工程师知识和技能的书籍。通过学习这本书,读者可以快速提升自己的数据库系统工程师能力,成为一名优秀的数据库系统工程师。 ### 回答3: 《数据库系统工程师五天修练.pdf》是一本专门面向数据库系统工程师的修炼指南。此书内容涵盖数据库系统的各个方面,包括数据库设计、数据模型、数据管理、数据安全等。通过学习这本书,数据库系统工程师能够提高自己的专业能力,更好地应对工作中遇到的问题。 首先,该书从数据库设计入手,介绍了关系型数据库的基本概念和范式理论,教会读者如何规划数据库的结构和关系,使其能够快速高效地存储和检索数据。同时,该书也对数据库的物理设计进行了详细探讨,让读者能够了解磁盘存储、数据索引等方面的知识,以提升数据库的性能和可靠性。 其次,该书还涉及到数据模型的建立和使用,包括关系模型、面向对象模型等。读者可以通过深入学习这些模型,了解其特点和适用场景,并能够根据实际需求选择合适的模型进行数据库设计,以最大限度地满足业务需求。 此外,该书还介绍了数据库管理的相关知识,包括数据备份和恢复、性能优化、容灾和高可用等方面。读者能够学会如何规划数据库的备份策略,以保证数据的安全性和可恢复性;同时,还能学习到如何通过调优数据库的配置和参数,提升数据库的性能和响应速度。 最后,该书也对数据库系统的安全进行了全面介绍。读者能够了解到数据库系统面临的各种安全威胁和攻击手段,学习到如何设置用户权限、加密敏感数据以及监控数据库的安全漏洞,以确保数据库系统的安全性和可信度。 综上所述,《数据库系统工程师五天修练.pdf》是一本对于数据库系统工程师而言非常有价值的修炼指南。通过学习这本书,数据库系统工程师能够全面提升自己的专业能力,更加熟练地应对各数据库系统相关的工作挑战。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值