Java 面向对象基础

1 篇文章 0 订阅
面向对象语法


    1、面向对象思想

        面向过程

        面向对象。

            开发哲学   思想

                软件本质是什么?

                软件是一种表达现实世界的逻辑。


                世界是什么?

                事物  和事物之间的关系过程。

                数据结构表示关系;


                事物 (状态  行为)  对象


                           (属性      方法)

                


            对象 是构成软件 的单位;


            对象有什么  属性   方法;

            构成软件的粒度 扩大了;


    2、类的定义

         class  类的名字  {

            

            //属性的定义


            //方法的定义;





        }


        //类的定义

        一个符号化的类的定义

        final||public||abstract||static  class XX  extends YY implments ZZ{




            //定义属性

            public||private||protected||static
            
            transient||synchronized||...  修饰符号

            //定义方法

            
            
            public||private||protected||static
            
            transient||synchronized||...  修饰符号


            //构造函数


            //代码块

            //静态代码块    
            


        }


        举例说明


            以用为度

            class Student{

                 String id;

                String name;

                int age;

                boolean stduy(String coursename){


                    return false;
                }


                boolean sing(String song_name){

                    return false;
                }

                boolean  eat(Object  something){

                    return false;


                }
                
            }


        
        添加一个知识点  

            public class Student{


    
            }

            public 修饰一个类的时候,两层含义

            1、该类必须存为   类名.java

            2、该类是公共类,任何人都可以使用;


            编译得到的是类名.class

        





        3、对象的生成和使用

        声明

        Student   tom;  声明的本质是起名字,对象不存在;

        创建

        tom = new Student();  //创建对象;


        初始化

            属性一一赋值

            tom.id="xxx";
            tom.name="****";
            tom.age=xx;

        创建的过程再解析

            对象是new 出来的,new 做了三件事

            a、分配空间;  再堆中为属性分配空间

            b、默认初始化;调用类中的直接初始化语句

            c、调用构造函数。调用类的构造函数,没有

                    调用默认;


                  画图说明该过程:

            

        创建对象一定要明白:对象的名字和对象 不是一个东西;

                   名字在栈中、对象在对中;

                    名字也叫做引用,引用的本质是指针,

                但是,Java 不提倡叫指针。
                (Java 对外从来的宣传都是Java去掉指针)

                

                
            使用对象

            有名字的
                tom.id;
    
                tom.sing();


        
        匿名对象
        
            new Student().sing("喜洋洋");

            匿名对象一般都是一次性调用的时候使用。


        





            
        4、构造函数


            tom = new Student();

            tom.id="";
            tom.name="";
            tom.age=22;


            太烦


            能不能


        
            tom = new Student("1234","赵四",20);

            我们为了简化 初始化过程,

            我们搞一个语法

            在new  的时候,接受参数,然后参数赋值

            给对象的属性,这样,new 结束,对象

            初始化结束。

            这玩意,叫做构造函数。    
           


        构造函数语法规定

            1、构造函数没有返回;

            2、构造函数的名字必须和类名一样。


        举例:

            class Student{

                 String id ;

                String name;

                int age  = 33;


            Student(String id,String name ,int age){

            this.id=id;
            this.name=name;
            this.age = age;



            }

                boolean stduy(String coursename){


                    return false;
                }


                boolean sing(String song_name){

                    

                    return false;
                }

                boolean  eat(Object  something){

                    return false;


                }




                
                
            }


    
        构造函数注意:

            a、一个类,默认有一个无参构造;

            b、如果用户编写构造,则不提供默认构造;

            

        所以,程序员编写类的习惯一定要自己写无参构造。


            
        构造函数式为了初始化方便设计的一种函数,

        
        所以,一个类中,可以有任意多个构造函数,

        可以实现  初始化更加灵活、方便。


        
            
        
    5、函数的重载

            
        把功能相近的方法设计成一样的函数名,不同的参数。

        这种现象叫做,函数的重载。

        

        好处:别人使用方便。

        public void add(int x,int y){}

        public void add(int a,int b){}


            这个不是

        所谓 不同参 :指 个数不同,或者,类型不同;


    6、对象的清除

        堆中的数据的,是我们软件最占用内存地方;


            

        
        

        

            













                


           
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值