【好程序员训练营】---- 重载、构造函数和this、static要点

android培训------我的java笔记,期待与您交流!

一、重载函数

  • 类中多个同名的方法名
  • 靠参数来区分

  

class Person{
      int age;
      String name;
      void  set(int a){
            age = a;
      }
      void set(String s){
            name = s;
      }
}

二、构造函数

  • 没有返回值
  • 每个类都有构造函数,若没有写,编译器会自动添加
  • 如果类中写有其他有参构造函数而又没有写默认构造函数,这时new无参构造函数则会出错,因为编译器不会自动添加默认构造函数了。

  

public class Person {
    public static void main(String agrc[]){
        //下行代码报错,已写有参构造函数,编译器不会自动添加默认构造函数了
        Dog d = new Dog();
    }
}
class Dog{
    Dog(int age){

    }
}

三、this代表调用这个函数的对象

  

public class Person {
    int age;
    String name;
    String sex;
    Person(){

    }
    Person(int age, String name){
        //用法一:参数和成员变量同名时使用
        this.age = age;
        this.name = name;
    }
    Person(int age, String name, String sex){
        //用法二:调用构造函数,只能调用一个且写在代码第一行
        this(age, name);
        this.sex = sex;
    }
}

 四、static静态关键字

  

public class Person {
    public static void main(String agrc[]){
        Dog.age = 21;//可使用类名来调用(可没有对象)
    }
}
class Dog{
    static int age;
    static{
        //静态代码块,可用于给静态成员变量赋初值
    }
    static void set(){
        age = 30;//静态方法中要使用静态成员变量,不能使用this
    }
}
时间: 2024-10-16 14:40:21

【好程序员训练营】---- 重载、构造函数和this、static要点的相关文章

好程序员训练营-Java方法重载

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 在Java中,同一个类中的多个方法可以有相同的名字,只要它们的参数列表不同就可以,这被称为方法重载(method overloading). 参数列表又叫参数签名,包括参数的类型.参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同. 重载是面向对象的一个基

[好程序员训练营]Objective-C学习笔记---构造函数和析构函数

<A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>------我的OC语言笔记,期待与您交流! 简单的讲,构造函数就是在创建一个对象的时候起到初始化的作用,对这个对象里的一些成员变量进行初始化,析构函数就是在对象被删除进行一些清理工作,也就是专门的扫尾工作,下面用代码来进行具体说明. 一.初始化函数 在OC中凡是已init开头的函数我们都称之为初始化函数,在声明初

【好程序员训练营】----子类实例化函数复写对象转型

android培训------我的java笔记,期待与您交流! 一.子类实例化过程 public class Student extends Person{ /* * 继承父类成员和函数,不能继承构造函数 * 在子类构造函数中,须调用父类的构造函数 */ Student(){ super();//用于调用父类构造函数:若写则在第一条语句,若不写,编译器自动添加:可以调用父类有参构造函数super(..,..); System.out.println("student无参数构造函数");

【好程序员训练营】Objective-C学习笔记----------成员变量和成员函数的封装

<A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>------我的OC语言笔记,期待与您交流! 前言--在我们开发项目的过程中,很多时候我们不想程序里面的成员变量或者成员函数暴露出来,我们只希望别人通过一些方法来调用这些变量或者函数, 这时就需要用到成员变量和成员函数的封装 一.成员变量的封装 @interface Person:NSObject{ @privat

好程序员训练营-Java接口(interface)的概念及使用

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 在抽象类中,可以包含一个或多个抽象方法:但在接口(interface)中,所有的方法必须都是抽象的,不能有方法体,它比抽象类更加"抽象". 接口使用 interface 关键字来声明,可以看做是一种特殊的抽象类,可以指定一个类必须做什么,而不

[好程序员训练营]Objective-C学习笔记---点语法

<A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>------我的OC语言笔记,期待与您交流! 在java等面向对象的语言中,常常会用到obj.方法,或者用到obj.属性来调用对象的方法和属性.OC为了使使用其他语言的程序设计者更好学习OC,所以OC也引入了点语法,但是从根本上讲,OC的点语法和java等语言的点语法还是有一定区别的,下面我们就来看看怎么使用OC的

黑马程序员训练营入学考试题

/** * 2.假如我们在开发一个系统时需要对员工进行建模, * 员工包含 3 个属性:姓名.工号以及工资. * 经理也是员工,除了含有员工的属性外,另为还有一个奖金属性. * 请使用继承的思想设计出员工类和经理类.要求类中提供必要的方法进行属性访问. */package com.itheima;class Employee{ private String name; private int num; private double sal; public String getName() {  

[好程序员训练营]Objective-C学习笔记--基本数据结构NSArray

<A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>------我的OC语言笔记,期待与您交流! 前言:NSArray是OC中的数组类,用NSArray可以创建一个不可变数组对象,而他的子类NSMutableArray则可以用来创建可变数组对象.下面分别介绍二者的部分用法. NSArray 1 NSArray * array = [[NSArray alloc] i

[好程序员训练营]Objective-C学习笔记---基本数据结构NSValue

<A href="http://www.gooodprogrammer.org/" target="blank">ios培训</A>------我的OC语言笔记,期待与您交流! NSValue是NSNumber的父类,NSNumber用于将基本数据类型int.char.float等存储成对象,NSValue则可以用于将装指针和结构体等更加复杂的类型存储为对象.因此他们的使用上还是有一定的区别. 1 struct sct{ //声明一个结构体