面向对象
构造方法
给成员变量赋值的方法:
通过setxxx()/getxxx();
通过构造方法赋值;
构造方法的格式:
1)构造方法的方法明和类名一致 ;
2)没有具体返回值;
3)并且连void都没有;
注意:没有提供无参构造方法,系统会默认提供;建议在标准类的时候,永远给出无参构造方法;
//示例类
class Demo{
//成员变量
private String name;
private int age;
//无参构造方法
public Demo(){
System.out.out.println("无参构造方法执行了!");
}
//有参构造方法
public Demo(String name,int age){
this.name=name;
this.age=age;
}
//成员方法
public void print(){
System.out.println("姓名:"+name+",年龄:"+age);
}
}
//测试类
class DemoTest{
public static void main(String[] args){
Demo d=new Demo();//创建一个Demo类的对象,并赋值于d
System.out.ptintln(d);//使用无参构造方法
d=new Demo("小白",4);//使用有参构造方法
d.print();//调用成员方法
}
}
构造方法的注意事项:
1)之前一直在使用无参构造方法,类名 对象名 = new 类名();
2)在开发中,如果给出了有参构造方法,系统不会再无参构造方法,作用:给成员变量进行赋值
3)构造方法是可以重载的!
成员方法:
成员方法:
有具体返回值无参的:
无返回值无参的(用void代替返回值);
有具体返回值有参的;
无返回值有参的(有void代替返回值);
标椎类
类名{
成员变量;
无参构造方法;
有参构造方法;
成员方法;
}
//手机类
class Phone1{
//成员变量
private String brand;
private int price;
private String colour;
//无参构造方法
public Phone1(){}
//有参构造方法
public Phone1(String brand,int price,String colour){
this.brand=brand;
this.price=price;
this.colour=colour;
}
//setxxx()/getxxx()写法,
//与有参构造方法一样都可以给变量赋值,开发中二者选其一即可
public void setBrand(String brand){
this.brand=brand;
}
public void setPrice(int price){
this.price=price;
}
public void setColour(String colour){
this.colour=colour;
}
public String getBrand(){
return brand;
}
public int getPrice(){
return price;
}
public String getColour(){
return colour;
}
//成员方法
public void call(){
System.out.println("打电话!");
}
public void send(){
System.out.println("发短信");
}
//成员方法,调用成员变量,获取有参构造方法的值
public void print(){
System.out.println("品牌:"+brand+",价格:"+price+",颜色:"+colour);
}
}
//测试类
class PhoneTest1{
public static void main(String[] args){
//方式1
Phone1 p=new Phone1();
p.setBrand("坚果");
p.setPrice(5000);
p.setColour("天空蓝");
System.out.println("品牌:"+p.getBrand()+",价格:"+p.getPrice()+",颜色:"+p.getColour());
p.call();
p.send();
System.out.println("----------------------");
//方式2
p=new Phone1("华为",5000,"天空境");
p.print();
p.call();
p.send();
}
}
static关键字
static关键字的特点
(修饰成员变量,可以修饰成员方法)
1)随着类的加载而加载
2)优先于对象存在
3)可以被多个对象共用
4)被静态修饰的变量,方法可以被类名调用,也可以对象名访问 类名 对象名 = new 类名() ;
将静态修饰的成员,也称为 “类成员”
注意事项:
1)static修饰的成员,随着的类的加载而加载,优先于对象存在;在内存中静态中不存在this关键字;
2)静态只能访问静态;
静态在开发过程中使用的时候,不能随意使用;
应用场景:
如果一个变量能被多个对象共用,这个使用static修饰;
//学生类
class Student3{
//成员变量
private String name;
private int age;
//静态成员变量,共享的
private static String banji="一年级五班";
//有参构造方法
public Student3(String name,int age){
this.name=name;
this.age=age;
}
//成员方法
public void print(){
System.out.println("姓名:"+name+",年龄:"+age+",班级:"+banji);
}
}
class StudentTest3{
public static void main(String[] args){
//new3个学生类对象
Student3 s1=new Student3("小白",4);
Student3 s2=new Student3("小李",5);
Student3 s3=new Student3("小明",4);
//调用成员方法
s1.print();
s2.print();
s2.print();
/*
结果
姓名:小白,年龄:4,班级:一年级五班;
姓名:小李,年龄:5,班级:一年级五班;
姓名:小明,年龄:4,班级:一年级五班;
}
}
来源:CSDN
作者:随风者1997
链接:https://blog.csdn.net/weixin_45277752/article/details/103833966