一、面象对象

二、什么是类

我肯定说,不知道、不清楚。

简单讲类是java中的基本单元,类是具有相同特性和行为的对象集合

三、类的定义

3.1、类的定义

class 类名称{
数据类型  属性 ;
….                           
 
public 返回值的数据类型 方法名称(参数1,参数2…){
    程序语句 ;    
     [return 表达式;]
}
}
 

3.2、类包含:属性和方法(行为)

package com.pb.demo2;
/*
* 人类
*/
public class Person { //Persion为类名
/*
* 属性,name,sex,age
*/
public String name; //名字
public String sex ; //性别
public int age; //年龄 /*
*方法(行为)
*/
//吃饭
public void eat(){
System.out.println("吃饭");
}
//工作
public void work(){
System.out.println("工作");
}
}

四、创建对象

对象是类的实例

package com.pb.demo2;

public class PersonTest {

    public static void main(String[] args) {
//创建Person类的对象
Person person=new Person();
//调用Person类的方法
person.eat();
person.work();
} }

五、有参数的方法

package com.pb.demo2;
/*
* 人类
*/
public class Person { //Persion为类名
/*
* 属性,name,sex,age
*/
public String name; //名字
public String sex ; //性别
public int age; //年龄 /*
*方法(行为)
*/
//吃饭
public void eat(String name){ //传入一个String类型参数
System.out.println(this.name+"邀请"+name+"一起吃饭");
}
//工作
public void work(){
System.out.println(name+"的工作理念是,干活挣钱有饭吃!");
}
}

测试类

package com.pb.demo2;
/*
* 测试类
*/
public class PersonTest { public static void main(String[] args) {
//创建Person类的对象
Person hanbing=new Person();
hanbing.name="韩冰"; //姓名赋值
hanbing.age=22; //年龄
hanbing.sex="女"; //性别
hanbing.eat("刘顿");
hanbing.work(); } }

结果:

韩冰邀请刘顿一起吃饭
韩冰的工作理念是,干活挣钱有饭吃!

六、类方法的组成

共有5部分组成,访问修饰符,返回值类型,方法名,参数列表,方法体

七、方法重载

7.1、方法重载

方法名相同,参数项不同和(访问修饰符和返回值类型)无关

例如:

package com.pb.demo2;
/*
* 人类
*/
public class Person { //Persion为类名
/*
* 属性,name,sex,age
*/
public String name; //名字
public String sex ; //性别
public int age; //年龄 /*
*方法(行为)
*/
//吃饭
public void eat(String name){ //传入一个String类型参数
System.out.println(this.name+"邀请"+name+"一起吃饭");
}
//工作
public void work(){
System.out.println(name+"的工作理念是,干活挣钱有饭吃!");
}
//工作
public void work(String contect){
System.out.println(name+"的工作理念是: "+contect);
}
}

测试类:

package com.pb.demo2;

import java.util.Scanner;

/*
* 测试类
*/
public class PersonTest { public static void main(String[] args) {
/*//创建Person类的对象
Person hanbing=new Person();
hanbing.name="韩冰"; //姓名赋值
hanbing.age=22; //年龄
hanbing.sex="女"; //性别
hanbing.eat("刘顿");
hanbing.work();
*/
Scanner input = new Scanner(System.in);
Person guest=new Person();
System.out.println("*********测试**********");
System.out.println("请输入姓名:");
String name=input.next();
guest.name=name; //为对象姓名赋值
System.out.println("请输入年龄:");
int age=input.nextInt();
guest.age=age; //为对象年龄赋值
System.out.println("请选择性别:");
System.out.println("1、男 2、女");
switch(input.nextInt()){
case 1:
guest.sex="男"; //为对象性别赋值
break;
case 2:
guest.sex="女"; //为对象性别赋值
break;
default:
System.out.println("输入错误");
return;
}
//调用不带参数的work方法
guest.work();
System.out.println("请输入新的工作理念:");
String contect=input.next();
//调用带参数的work方法
guest.work(contect);
} }

结果:

*********测试**********
请输入姓名:
张三
请输入年龄:
22
请选择性别:
1、男 2、女
1
张三的工作理念是,干活挣钱有饭吃!
请输入新的工作理念:
挣钱,取老婆
张三的工作理念是: 挣钱,取老婆

八、成员变量和局部变量

成员变量是定义在类中有变量,在整个类中都有效都可以作用

局部变量在方法中声明的变量,只在这个方法中有效

当成员变量和变量同名时,可以使用this关键字来调用成员变量,如果不加this默认调用局部变量

九、判断下列哪些是方法重载

public void cal(int x,int y,int z){...}

A:public int cal(int x,int y,float z){return 0;}

B:public void cal(int x,int y,int z){return 0;}

C:public int cal(int x,int z){....}

D:public void cal(int x,int y,int z){...}

答案为:A,C

下一题:

A:int f1(){}    int f1(int a){}

B:void f1(int a){}   int f1(int a){}

C:void f1(){}   int f1(int a){}

D: int f1(int b){}  int f1(int a){}

答案为:A,C

Java从零开始学十一(类和对象)的更多相关文章

  1. Java从零开始学三十九(对象序列化)

    一.序列化 将对象的状态存储到特定存储介质中的过程 对象序列化,就是把一个对象变为二进制的数据流的一种方法,通过对象序列化可以方便的实现对象的传输或存储.   序列化保存对象的“全景图”,构建对象的“ ...

  2. Java学习笔记之---类和对象

    Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态  例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...

  3. 从零开始学java(二)类与对象

    面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为. 类是对象的抽象,对象是类的具体实例. 1.构造一个类,让其拥有属性和方法 ...

  4. Java从零开始学四十一(反射简述二)

    一.实例化Class类对象 实例化Class类对象的方法有三种: 第一种:通过forName()方法 第二种:类.class 第三种:对象.getClass() 二.Class类的常用方法 No. 方 ...

  5. Java编程里的类和对象

    像我们搞计算机这块的,都知道这么一件事,当前的计算机编程语言主要分为两大块,一为面向过程,二为面向对象.Java就是一门纯面向对象的语言.学习了一个月左右的Java,在下对于Java当中的类和对象有了 ...

  6. Java学习笔记 04 类和对象

    一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...

  7. JAVA编程中的类和对象

    1:初学JAVA,都知道JAVA是面向对象的编程.笔者这节开始说说类和对象.(实例仅供参考,如若复制粘贴记得修改包名和类名,避免出错) 学习JAVA的快捷键,Alt+/代码补全功能,其实此快捷键启动了 ...

  8. Java从零开始学四十五(Socket编程基础)

    一.网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...

  9. Java从零开始学四十四(多线程)

    一.进程与线程 1.1.进程 进程是应用程序的执行实例. 进程是程序的一次动态执行过程,它经历了从代码加载.执行到执行完毕的一个完整过程,这个过程也是进程本身从产生.发展到最终消亡的过程 特征: 动态 ...

随机推荐

  1. hibernate核心配置

    # hibernate核心配置 注意:  - hibernate.cfg.xml默认放在src目录下(这样可以自动加载该文件) - 必须配置的参数:   * 数据库的四大参数和方言  - 可选配置的参 ...

  2. 磁盘满了MySQL会做什么?

    最近遇到一个故障和磁盘满有关系,并且同事也发现经常有磁盘满导致操作hang住无响应的情况,于是抽时间研究了一下这2种情况. 一.磁盘满了之后MySQL会做什么? 我们看下官方的说法 When a di ...

  3. 选择问题(selection problem)

    /*     本文是选择问题: 选择一组N个数当中的第k小的数(第k大的数类似)     集中方法的实现代码 */       #include "sorting.h" #incl ...

  4. C#和C++中char类型的区别

    对于char,这个字符类型.我们一般都认为就是一个字节.今天在仔细比较发现,C#的char和C++的char是有区别的. 1.首先来看C#中char占多大空间 using System;using S ...

  5. IOS在一个程序中启动另一个程序

    尽管iPhone不允许同时运行两个应用程序,我们可以从自己的应用程序中启动另一个应用程序,并且可以在应用程序之间共享数据.我们可以使用UIApplication类的openURL:方法从一个应用程序来 ...

  6. 转 如何在IOS设备中去掉屏幕上的status bar

    引入如何在IOS设备中去掉屏幕上的status bar,即:不显示设备上方的[网络.时间.电池??]条?操作方法一:在-info.list项目文件中,加上“Status bar is initiall ...

  7. tinyxml使用笔记与总结

    在TinyXML中,根据XML的各种元素来定义了一些类:        TiXmlBase:整个TinyXML模型的基类.        TiXmlAttribute:对应于XML中的元素的属性.   ...

  8. python垃圾回收杂谈

    当创建对象时Python立即向操作系统请求内存.每当对象的引用数减为0,Python垃圾回收器立刻挺身而出,立即将其释放,把内存还给操作系统.在Python中,每个对象都保存了一个称为引用计数的整数值 ...

  9. 【BZOJ】【2595】【WC2008】游览计划

    Orz zky神犇http://blog.csdn.net/iamzky/article/details/42029921 spfa的灵活应用!(好像是求了一个叫做斯坦纳树的东西……) o(︶︿︶)o ...

  10. 【BZOJ】【1251】序列终结者

    Splay 还是splay序列维护,这题我WA了的原因是:在Push_up的时候,当前子树的max我是直接取的L.R和v[x]的最大值,但是如果没有左/右儿子,默认是会访问0号结点的mx值,而这个值没 ...