面向对象1

1、局部变量不能写限制修饰符。局部变量与成员变量同名,那么成员变量被隐藏。

2、栈内存存地址,堆内存存首地址。引用存储的是对象内存空间的首地址。

3、万物皆对象;类是对大量对象共性的抽象
     关系:类是创建对象的模板,对象是类的具体化。

4、public final double PI=3.1415926;//PI值不能改变,常量

package LESSON7;
public class demo3 {
    //final表示最终的
    //final修饰的类不能被继承
    /*final*/ class D{
        public /*final */int i=1;//final修饰的变量不能被改变
        public /*final*/ void test(){//final修饰的方法不能被重写
            i++;
        }
        
    }
    class E extends D{
        public void test(){
            
        }
        
    }
    public static void main(String[] args) {
        
    }
}

5、局部变量与成员变量同名,那么成员变量被隐藏。

6、任意类型类型都可作为函数参数进行传递(基本和引用),如对象

package LESSON5;
//饲养员
public class Breeder {
    public Breeder(String name){
        this.name=name;
        
    }
    public String name;
    public void feed(Animal animal,Food food){//对象作为函数参数
        System.out.println(name+"给"+animal.name+"吃"+food.name);
    }
    
    
}


package LESSON5;
//动物
public class Animal {
    public Animal(String name){
        this.name=name;
        
    }
    public String name;
    

}

package LESSON5;
//食物
public class Food {
    public Food(String name){
        this.name=name;
        
    }
    public String name;
    

}


package LESSON5;
public class exercise2 {
    public static void main(String[] args) {
        Breeder b=new Breeder("张三");
        Food f=new Food("鱼食");
        Animal a=new Animal("大鱼");
        b.feed(a, f);
    }

}

7、this是一种特殊的引用,指向当前对象
     this的三种使用方法:
    如果发生局部变量可以成员变量命名冲突时,可以通过this.成员变量名的方式区分成员变量和局部变量
    在构造器中,可以通过this关键字将局部变量传递参数的值赋值给全局变量
    一个构造方法中需要调用同一个类的另一个构造方法,可以通过this()的方式调用,但this()必须要书写在第一行

    构造器:

    构造器的名称必须与类名相同。
    构造器没有返回类型,包括关键字void也不能有。
    任何类都含有构造器,如果没有显式地定义类的构造器,则系统会为该类提供一个默认的构造器。这个默认的构造器不含任何参数。一旦在类中显式地定义了构造器,系统就不会再为这个类提供默认的构造器了。

package LESSON5;

public class Student {
    public String name;
    public int age;
    public char sex;


    //构造器:创建对象
    public Student(String name)//声明一个参数的构造器,通过参数传进来给属性赋值    
    {
        //this:表示当前对象
        this.name=name;//把值赋给全局变量public String name;this.name全局变量
    }
    //声明两个参数的构造器
    public Student(String name,int age){
        this(name);//(调用指定构造器)使用this调用另外一个重载的构造器,只能在构造器中使用。只能写到第一行
        this.age=age;        
    }
    //定义三个参数的构造器
    public Student(String name,int age,char sex){
        this(name,age);//使用this调用另外一个重载的构造器,只能在构造器中使用
        this.sex=sex;
        
    }
    
    //方法
    public void test(){
        System.out.println("姓名:"+name+"\t年龄:"+age+"\t性别:"+sex);
        this.eat();//调用指定的方法,不一定写在第一行(和构造器中的不同)
    }
    public String drink(String he){//形参  return;表示结束 return只有返回数据的功能,没有打印功能
        
        return name+"在"+he;
        
    }
    public void eat(){
        System.out.println("吃");
        
    }
    
    //方法重载:在同一个类中,方法名相同,参数列表不同的现。参数列表:参数类型 参数个数,参数顺序。
    public int sum(int x,int y){
        return x+y;
    }
    public double sum(double x,double y){
        return x+y;
    }
    public double sum(double x,double y,double z){
        return  x+y+z;
        
    }
    public float sum(float x,float y){
        return x-y;
    }

    
}
package LESSON5;

public class test {


    public static void main(String[] args) {
        //创建对象的过程其实是调用了构造器,并且赋值,根据参数的个数来进行构造器选择    
        Student stu=new Student("张三",18,'男');        
        stu.test();
        System.out.println(stu.drink("喝可乐"));//实参
        
        System.out.println(stu.sum(3, 2));
        System.out.println(stu.sum(3.0, 2.0));
        System.out.println(stu.sum(3.0, 2.0,1.0));
        System.out.println(stu.sum(3f, 2f));        
        
    }
}

 

转载于:https://www.cnblogs.com/qfdy123/p/10932889.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值