黑马程序员关于类中方法的调用

本文介绍了Java中静态方法与非静态方法的区别及调用方式,通过具体的Student类实例展示了如何使用静态与非静态方法,并解释了主函数如何调用这两种方法。
------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

类是用来描述事物的属性与行为,例如一个Student类 这个类中有对学生的属性描述,例如,学生姓名,学生年龄,还有学生行为方法,例如,吃饭,学习,跑步等

如何调用学生类中的方法,首先方法的组成由 访问权限 修饰符 返回值类型 方法名(参数列表){  执行语句 }  

首先说一下什么是static ,是静态,可修饰成员(成员变量,成员函数)

如果static 修饰方法,static优先于对象存在,所以可以直接不用new 对象,直接用类名.方法名()进行调用,

如果无static修饰方法,必须先new 对象,然后对象去调用方法

因为主函数为static修饰,所以可以直接调用本类中的静态方法


class Student{
 private String name;
 private int age;
 public Student(){}
 public Student(String n,int a){
  this.name=n;
  this.age=a;
 }
 //定义一个没有static 修饰的方法,为非静态方法
 public String study(String n){
  return "student study..."+n;
 }
 
 public String run(){
  return "studetn run...";
 }
 //有static修饰,为静态方法
 public static String eat(){
  return "student eat...";
 } 
}
public class staticTemo {

 public static void main(String[] args) {
  //通过new实例化获取对象
        Student stu=new Student();
        Student stu1=new Student("小明",23);
       
        //利用对象.方法名()调用,如果调用的是有参数的方法,一定要传入形参
        String method1=stu.study("mike");
        //利用对象.方法名()调用,如果调用的方法没有参数的方法,则不必伟形参
        String method2=stu1.run();
       
        System.out.println(method1);
        System.out.println(method2);
       
        //如果是静态方法,则直接用类名.方法名()调用
        System.out.println(Student.eat());
       
       
 }

}

 

### 黑马程序员构造方法示例 在 Java 中,构造方法是一种特殊的方法,用于初始化新创建的对象。它具有与相同的名称,并且不返回任何值(甚至 `void` 也不返回)。以下是基于黑马程序员教程中的相关内容构建的一个典型构造方法示例: #### 示例代码 ```java // 定义一个名为 Person 的 public class Person { // 成员变量 String name; int age; // 无参构造方法 public Person() { this.name = "默认姓名"; this.age = 0; } // 带参数的构造方法 public Person(String name, int age) { this.name = name; // 使用传入的参数初始化成员变量 this.age = age; // 使用传入的参数初始化成员变量 } // 打印个人信息的方法 public void displayInfo() { System.out.println("姓名:" + name + ", 年龄:" + age); } } // 测试 public class TestPerson { public static void main(String[] args) { // 调用带参数的构造方法实例化对象 Person person1 = new Person("张三", 25); person1.displayInfo(); // 调用无参构造方法实例化对象 Person person2 = new Person(); person2.displayInfo(); } } ``` 上述代码展示了如何通过构造方法来初始化对象的状态[^1]。 - **无参构造方法**:当未提供具体初始值时,默认设置某些固定值。 - **带参数的构造方法**:允许开发者在创建对象时指定具体的属性值。 此设计模式遵循了面向对象编程的核心原则之一——封装性,即隐藏数据的具体实现并仅暴露必要的操作接口[^2]。 #### §相关问题§ 1. 如何区分同一个中的多个构造函数? 2. 如果既定义了有参构造又定义了无参构造,在实例化时不加括号会调用哪个构造函数? 3. 构造方法能否被继承?为什么? 4. 在什么情况下应该优先使用带参数的构造方法而非依赖于无参构造方法? 5. 匿名内部是否可以拥有自己的构造方法?如果可以,请给出例子。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值