JavaBean 构造方法 this static 关键字

JavaBean的特点:
? private 成员属性
? public成员方法
? 有get/set方法对成员变量进行赋值/取值
? 有空构造方法
符合这些条件的称为标准的JavaBean。

构造方法
[修饰符] 构造方法名(形参列表){
//零到多条可执行语句组成构造方法的执行体
}
class Student{
public Student(){
System.out.println("这是学生类的空参构造方法");
}
}
class Person{
private int id;
public Person(){} //空参构造方法
public Person(int a ){ //重载构造方法,有一个int型的参数
id = a ; //在构造方法中对实例变量赋值
System.out.println("这是一个带参的构造方法");
}
public Person(int a ,int b){
System.out.println("这是一个带两个参数的构造方法");
}
}
构造方法定义时注意事项:
1.构造方法必须和类同名
2.构造方法没有返回值,也不能使用void,一旦加了返回值或者void,那么这个方法就是一个成员方法,而不是构造方法了
class Demo{
//public Demo(){} 如果没有定义任何构造方法的时候,系统自动加上一个无参构造方法
public void show(){
System.out.println("Hello world");
}
}
class Demo{
public Demo(int id){
System.out.println("这是一个带参的构造方法");
}
}
//定义一个员工类,自己分析出几个成员,然后给出成员变量,构造方法,getXxx()/setXxx()方法,
//以及一个显示所有成员信息的方法。并测试。
class Employee{
private String name;
private String employeeId;
private int age;
//构造方法
public Employee(){}
//getXxx()/setXxx()方法
public String getEmployeeId(){
return empoloyeeId;
}
public void setEmployeeId(String employeeId){
this.employeeId=empoloyeeId;
}
public String getName(){
return getName;
}
public void setName(String name){
this.setName= name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
public void show(){
System.out.println("员工编码是:"+getEmployeeId +"姓名是:" +getName+"年龄是:"+getAge);
}
}
class EmployeeTest{
public static void main(String[] args){
//创建对象
Employee e = new Employee();
//给成员变量赋值
e.steEmployeeId("1234");
e.steName("李四");
e.setAge(19);
e.show();
}
}
//定义一个算数类MyMath,提供基本的加减乘除功能,然后进行测试。
import java.util.Scanner{
class MyMath{
public int add(int a ,int b){
return a+b;
}
public int sub(int a ,int b){
return a-b;
}
public int num(int a ,int b){
return a*b;
}
public int div(int a ,int b){
return a/b;
}
}
//测试类
class MyMathTest{
Scanner s = new Scanner(System.in);
System.out.println("输入第一个数");
int a = s.nestInt();
System.out.println("输入第二个数");
int b = s.testInt();
MyMath mm = new MyMath();
System.out.println(mm.add(a,b));
System.out.println(mm.sub(a,b));
System.out.println(mm.mul(a,b));
System.out.println(mm.div(a,b));
}
}

// this 关键字》》》》》》》》》》》》》》》》》》》》》》》》》》》

class Person{
public Person(){}
public void sayHai(){
System.out.println("Hello");
}
public void speak(String content){
// Person p = new Person();
// p.sayHi();
this.syaHi();//sayHi();//调用本对象的另一个方法,可以省略this关键字
System.out.println("我想说的是:" +content);
}
}

class PersonText{
public static void main(String[] args){
Person pp = new Person();
pp.speak();
}
}

//this关键字在构造方法中,对成员变量进行初始化
class Person{
private String name;
private int id;
private String gender;
public Person(){}//空参构造方法
//带有三个参数的构造方法,由于形参和成员变量同名,用this关键字区分
public Person(String name, int id,String gender){
this.name=name;
this.id = id;
this.gender = gander;
}
public Person(String name,int id){
this.name = name;
this.id = id;
}
}
//this关键字是用来指代当前对象的,在构造方法中可以使用this关键字
//*********************************************
有static修饰的成员变量/成员方法,称为类变量/类方法,
没有static修饰的成员变量/成员方法称为实例变量/实例方法

>>>>>>>>>>>静态只能访问静态
class Teacher{
public int num=10;
public static int num2 = 20;
public void show(){
System.out.println(num);//隐含的告诉你访问的是成员变量
System.out.println(this.num)//明确告诉你访问的是成员变量
}
}

静态方法可以访问的是:
1.静态成员变量
2.静态成员方法
非静态方法可以访问的是:
1.静态/非静态成员变量
2.静态/非静态成员方法
总结,简单记:
静态只能访问静态,非静态两种都能访问

对象初始化过程包含两个方面:
构造代码块的执行 + 构造方法的执行

构造代码块:抽取构造方法中共同的语句,在构造方法执行前执行
静态代码块:在类加载时执行一次,用于对类(成员变量)进行初始化

 

 

时间: 2024-08-05 00:32:34

JavaBean 构造方法 this static 关键字的相关文章

07_面向对象(成员变量和局部变量区别、类作为形式参数的问题、匿名对象、封装、private关键字、this关键字、构造方法、成员方法、static关键字、静态变量和成员变量、main方法)_02

7:构造方法(掌握)    (1)作用:用于对对象的数据进行初始化    (2)格式:        A:方法名和类名相同        B:没有返回值类型,连void都不能有        C:没有返回值                思考题:构造方法中可不可以有return语句呢?        可以.而是我们写成这个样子就OK了:return;        其实,在任何的void类型的方法的最后你都可以写上:return;    (3)构造方法的注意事项        A:如果我们没写构

Java基础5—{面向对象(构造方法、对象的创建步骤、static关键字、Math类)}

1.面向对象 1.1 构造方法概述和格式 1:构造方法概述和作用 创建对象,给对象中的成员进行初始化 2:构造方法格式特点 a:方法名与类名相同 b:没有返回值类型,连void都没有 c:没有具体的返回值 1 public class Student { 2 private String name; 3 private int age; 4 //我们自定义的类,默认存在一个空参构造构造方法 5 //构造方法的语法:方法名跟类名相同,没有返回值,连void 也没有 6 public Student

static关键字的使用(有个深刻领悟)

没有实例化对象的时候进行可以调用static 属性  static方法 (用类名去调用) 非static定义的方法可以调用static的属性或方法. static定义的方法不能调用非static的方法或属性: 非static方法几乎都有一个特点:方法要由实例化对象调用 或者在web开发中,由url调用 /* 最深刻透彻醍醐灌顶的领悟*/ 以前想为啥啊,那个url就可以执行了非static方法了 Servlet的工作原理就是反射,所有,MVC框架的controller都是这个机制 Servlet的

[java]static关键字的四种用法

在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一下static关键字及其用法. static关键字 1.修饰成员变量 在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类成员或者静态成员,这句话挺起来都点奇怪,其实这是相对于对象的属性和方法来说的.请看下面的例子:(未避

4.6-全栈Java笔记:THIS关键字和STATIC关键字

this关键字 对象创建的过程和this的本质 构造方法是创建java对象的重要途径,通过new关键字调用构造器时,构造器也确实返回了该类的对象,但这个对象并不是完全由构造器负责创建的.创建一个对象分为如下四步: 1. 分配对象空间,并将对象成员变量初始化为0或空 2. 执行属性值的显示初始化 3. 执行构造方法 4. 返回对象的地址给相关的变量 this的本质就是"创建好的对象的地址"!  由于在构造方法调用前,对象已经创建.因此,在构造方法中也可以使用this代表"当前对

java中构造方法和this,static关键字

构造方法: 构造方法是一种特殊的方法,用于创建该类的对象,对对象的数据进行初始化 格式如下: [修饰符] 类名(形参列表){ 方法体 } 特点 A:方法名和类名相同  B:没有返回值类型,连void都不能有 C:没有返回值 D:通过new关键字比如 类名 对象名 = new 类名(); 代表调用了该类的无参构造方法 构造方法注意事项: 1.如果自己不创建构造方法,系统会自动提供一个无参构造,一般建议自己手动创建 2.如果自己创建了有参构造方法,系统将不默认创建无参构造方法 class Stude

面向对象,封装,构造方法,this关键字,main,继承,接口,多态阶段性小结

一.局部变量和成员变量 成员变量:  定义在类中变量 局部变量:  定义在方法中变量 1成员变量与局部变量的区别: 应用范围 成员变量在整个类内都有效 局部变量只在其声明的方法内有效 生命周期   成员变量: 它属于对象,它随着对象的创建而创建,随着对象的消失而消失 局部变量: 使用完马上释放空间. 存储位置  成员变量属于对象,它存储在堆内,堆内的实体,当没有引用指向其时,才垃圾回收清理 局部变量存在栈内存中,当不在使用时,马上就会被释放. 初始值 成员变量它存储在堆中,如果没有赋初值,它有默

static关键字,引发的spring普通类获取spring的bean的思考

在c++和java中static关键字用于修饰静态成员变量和成员函数 举例一个普通的javabean class AA { int a; static int b; geta/seta;//此处省略getset getb/setb; } 如果创建了一个对象AA, AA a =new AA(); 这个时候只会在内存中给这个对象分配四个字节,也就是a变量所占的字节数,因为static申明的全局变量在全局区中,是所有这个类的对象共有的,例如: a.setB(10); AA b =new A(); Sy

java中static关键字总结

Java中,static关键字一般情况下有四种用法: 用来修饰一个变量. 用来修饰一个方法. 用来修饰一个内部类. 用来修饰一段代码块. 1 public class Student{ 2 String name; 3 static int count;//static修饰的变量 4 static{//static修饰的代码块 5 count=0; 6 } 7 public static void playGame(){//static修饰的方法 8 System.out.println("我爱