构造方法和类的使用

构造方法是我们学习Java过程中会接触到的,下面是我个人在学习中对构造方法的了解:

1.关于构造方法:    

                                 *创建类的实例时候自动调用

                                *用于类的实例初始化

2.构造方法的定义和语法
  1.         [访问修饰符]  class 类名{
  2.         public 类名([形参列表]){
  3.         方法体;
  4.         }

需要注意的是:

                                 *构造方法是特殊的方法  

                                *方法名与类名同名

                                *没有返回值,没有void

3.默认构建方法:

若类中没有声明构造方法,编译器将创建默认无参构造方法

若用户声明了构造方法,编译器不再创建默认构造方法

默认构造方法方法体为零即无参数

案例如下:

public class Test{
    private int age;
    private String name;
    public Test(int make){age=make;}   //构造方法1
    public Test(String srt){name=str;}   //构造方法2
    public void output(){
        System.out.println("name:"+name+",age:"+age);
    

 }

}






public class Mada{
    public static void main(String[]args){
        Test a=new  Test();  //错误,没有无参构造方法
    }
}    
public Person(){


}//无参构造方法


public Person(int age,String  name){
    this.age=age;
    this.name=name;
}//全参构造方法
关于构建方法我们了解一些了,那应用在哪里呢?又和什么有关系呢?

4.类:

关键:声明一个类需要通过一个关键字class,类中的函数称作成员方法
类与对象的关系:类是对某一类事物的描述,是抽象的、概念上的意义,对象是实际存在的该类事物的每一个个体,也被称为实例

类的使用步骤:

第一步

构造方法应用到类当中

类的定义:[访问修饰符]  class 类名{

成员变量

构造方法

成员方法

getter方法和setter方法

普通方法

class cat{
//猫的属性
    public String weight;
    public String sex;
    public static String slogan ="猫爱吃鱼";//静态成员属性,归属于类

属性用于定义类所包含的数据的,属性就是成员变量。

注意:成员变量是用于存储数据,不建议设置pubilc,建议设置成private,方便使用getter和setter方法的读写

用来描述某个对象的特征的是属性,是静态的,比如说”猫爱吃鱼“。

第二步:

创始对象:

方法1.

类名  对象名; 

对象名=new  类名([实参列表]);

方法2:

类名  对象名=new  类名([实参列表]);

第三步:

访问对象的成员:

在类内部访问:成员名

在类外部访问:对象名.成员名

class Teacher{
    String name;
    int ID;
    public void tell(){
        System.out.println("请输入老师的个人信息:"姓名:"+name+" "+"ID:"+ID);
 }
}


public class Teacher1{
    public static void mian(String[] args){

//创建对象
// Teacher tea=null;//声明
//tea=new Teacher()//通过关键字new来实例化

  Teacher tea =new Teacher();//声明并实例化


 }
}
5.对象:

 分析出解决问题所需要的步骤,然后用函数把这些步骤一步步实现,使用时一个个依次调用。面向对象强调:"由谁来做",这个谁就是对象。

面向对象特征:(1)将对象的属性和行为封装起来    (2)类与类之间的关系,通过继承,无需重新编写,对原有的类的功能进行扩展   (3)指一个类定义的属性和方法被其他类继承后,它们具有不同数据类型或不同行为。

6.对象与类:

每个对象都是通过类来创建的,为此在创建对象前必须先创建类。

类的定义案例

class Person:
    def __init__(self, name, age, gender, height, weight):
        self.name = name
        self.age = age
        self.gender = gender
        self.height = height
        self.weight = weight

    def say_hello(self):
        print(f"Hello, my name is {self.name}!")
7.成员方法:

每个对象都有它们的行为或者使用它们的方法,比如说一个活人会吃饭睡觉,我们把这些行为称作方法,是动态的,可以用这些方法来操作对象。

属性和方法称作这个对象的成员

class Person{
        
    public int age;
    public String name;
    public String num;
    public void sleep(){

    System.out.println("睡觉");
  
   }

    public void eat(){

    System.out.println("吃饭");

}
}

我们就可以拿这个类创建一个对象,来访问这个对象的成员,案例如下:

 Person person =new Person;//实例化一个对象
    person.name="lisi";
    person.sex="mal";
    person.sleep();
     person.eat();
5.getter和setter方法:
getter方法:

返回对象内部的成员的值

[访问修饰符] 成员变量 getXxx(){

return;

}

setter方法:

用来设置成员变量,可以在方法里面过滤掉一些不合理的格式:

[访问修饰符] void  setXxx(成员变量类型  参数){

        成员变量=参数;

下面是定义圆类,使用getter和setter方法的案例:

import math

class Circle:
    def __init__(self, radius):
        self.radius = radius

    def get_radius(self):
        return self.radius

    def set_radius(self, radius):
        self.radius = radius

    def get_area(self):
        return math.pi * self.radius**2

    def get_circumference(self):
        return math.pi * self.radius * 2


# 创建圆对象
circle = Circle(5)

# 使用getter方法获取半径
print("半径:", circle.get_radius())

# 使用setter方法设置半径
circle.set_radius(7)
print("半径:", circle.get_radius())

# 使用getter方法获取面积
print("面积:", circle.get_area())

# 使用getter方法获取周长
print("周长:", circle.get_circumference())


好了,本期的学习分享到这里,希望我们能在代码的世界里汲取更多知识和收获乐趣,如有问题多谢指教。

拓展:开辟堆内存空间的时候,对nameage进行了初始化,

没有实例化,就没有开辟堆内存,栈指针就没有指向,就会出现空指针异常,

构造方法之所以可以分为有参和无参,原因就是方法是可以去重载的,

这是我们需要区分的。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值