java第三周学习笔记:
程序员文章站
2022-07-16 14:27:20
...
1.static关键字:
1)概念:
共享,共用(可以被多个对象共用).
2)特点:
1)被静态修饰的方法/变量,都是随类的加载而加载. 2)共享,共用(可以被多个对象共用). 3)优先于对象存在,不能与this关键字共存,this是需要等待对象创建完毕,而静态修饰的,优先进入static内存区. 4)静态修饰的方法/变量,推荐使用类名访问. 如果是静态修饰的成员变量. 类名.变量名; 如果是静态修饰的成员方法. 类名.方法名();
3)使用过程中的注意事项:
1)非静态的成员方法,可以访问静态的成员变量或非静态的成员变量. 2)静态的成员方法: 只访问静态的成员变量或静态的成员变量.
4)目的:
为了解决代码的冗余并且最大的需要解决的就是:内存销毁.
//定义一个人类
class Person{
String name ; //姓名
int age ; //年龄
//静态修饰
static String country ;//静态的成员变量
//无参构造方法
public Person(){}
//带三个参的有参构造方法
public Person(String name,int age,String country){
this.name = name ;
this.age = age ;
this.country = country ;
}
//提供带两个参的有参构造方法:name,age
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
//提供show方法,来展示人的信息...
public void show(){
System.out.println("该人的姓名是"+name+",年龄是:"+age+",所在的国籍是:"+country);
}
}
//测试类
public class StaticDemo {
public static void main(String[] args) {
//古代四大美女
// 有参构造方法赋值(3个参数的)
Person p1 = new Person("王昭君",25,"中国") ;
p1.show() ;
System.out.println("-----------------------------------------");
//Person p2 = new Person("西施",18,"中国") ;
//改进后:创建一个Person对象,带两个参数的
Person p2 = new Person("西施",18) ;
p2.show();
System.out.println("-----------------------------------------");
// Person p3 = new Person("貂蝉",20,"中国") ;
//改进后
Person p3 = new Person("貂蝉",20) ;
p3.show();
System.out.println("-----------------------------------------");
// Person p4 = new Person("杨玉环",30,"中国") ;
//改进之后
Person p4 = new Person("杨玉环",30) ;
p4.show();
System.out.println("------------------------------------------------------------------");
Person p5 = new Person("高圆圆",42,"美国") ;
p5.show();
p1.show();
p2.show();
p3.show();
p4.show();
}
}
2.什么时候将一个变量定义为成员变量?
这个变量能够描述这个类的属性(现实真实的事物属性)----->将变量------>成员变量(类中方法外).
3.代码块的含义:
使用{}包裹起来的称为"代码块"
*
* 分类:
* 局部代码块:{},在局部位置(方法定义中定义)
* 作用:限定局部变量的生命周期
* 构造代码块:
* {} :在构造方法之前(类的成员位置)
* 特点:在执行构造方法之前,如果存在构造代码块,优先执行构造代码块,然后才是构造方法!
* 作用:将构造方法中初始化的过程,可以在构造代码块中使用(一般开发中很少,一些笔试题出现,考点:考的就是构造代码块和构造方法之前)
* 静态代码块----->应用场景:jdbc中就会使用到...
* 特点:随着类的加载而加载,优先于对象存在
* static{
*
* }
*
*
* 静态代码块只执行一次,因为类就加载一次! (考点)
*
*
* 优先级: (考点)
*
* 静态代码块 > 构造代码块 > 构造方法
上一篇: ECMAScript 2016
下一篇: 项目action封装
推荐阅读
-
PHP学习笔记(一) 简单了解PHP
-
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
-
php学习笔记 类的声明与对象实例化
-
php学习笔记 php中面向对象三大特性之一[封装性]的应用
-
php学习笔记之 函数声明(二)
-
Java基础部分学习day1_HelloWord
-
学习TypeScript,笔记一:TypeScript的简介与数据类型
-
Linux内核学习笔记(4)-- wait、waitpid、wait3 和 wait4
-
Docker 学习笔记 (一)Dockerfile 创建本地镜像
-
荐 Java刷题笔记15:不同的二叉搜索树( Unique Binary Search Trees)