java系列--类和对象
一、成员属性,构造方法,成员方法
1、类名首字母一般大写
2、方法名的首字母一般是小写,使用驼峰法(匈牙利法) myCry, 下划线法 my_cry
3、方法的声明没有函数体(接口,抽象类),数据类型甚至可以是类
4、构造方法(构造函数),a、方法名和类名相同,b、没有返回值,c、在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的初始化
一个类可以定义多个构造方法
5、每个类都有一个默认构造方法(构造函数),如果新写了构造函数,则默认构造函数会被覆盖
6、构造方法的主要用处是初始化你的成员属性(成员变量),不要在函数内写方法
二、this,类变量(静态变量)/类方法,四大特征(抽象,封装,继承,多态)
1、this是属于一个具体的对象的,而不是属于一个类,当创建一个对象,this自动指向该对象
this只能在类定义内部使用,不能做外部使用
2、静态变量,可以被该类任何一个对象访问,也可以用类名访问
3、代码区和栈区的区别
4、静态方法(来方法)只能访问静态变量(类变量),非静态方法可以访问静态和非静态变量
5、抽象的概念:
6、封装的概念:
7、四种控制修饰符:private 默认 potected public
8、包的概念:
9、继承:子类最多只能继承一个父类(指直接继承),java中所有类都是Object类的子类
10、方法的重载(overload):函数名相同,方法的参数类型、个数、顺序至少有一项不同,仅仅返回类型不同不能构成重载,仅仅控制访问修饰符可以不同不能构成重载
11、方法的覆盖(override):重写父类的方法
12、多态:指通过指向父类的指针,来调用在不同子类中实现的方法
/**
* 演示多态
*/
package com.wang;
public class Demo5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//多态
/* Cat2 cat = new Cat2();
cat.cry();
Dog2 dog = new Dog2();
dog.cry(); */
/* Animal2 an = new Cat2();
an.cry();
an = new Dog2();
an.cry(); */
Master master = new Master();
master.feed(new Dog2(), new Bone());
master.feed(new Cat2(), new Fish());
}
}
//主人类
class Master{
//给动物喂食,使用多态方法就可以使用一个
public void feed(Animal2 an, Food f){
an.eat();
f.showName();
}
}
class Food{
String name;
public void showName(){
}
}
class Fish extends Food{
public void showName(){
System.out.println("鱼");
}
}
class Bone extends Food{
public void showName(){
System.out.println("骨头");
}
}
//动物类
class Animal2{
String name;
int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void cry(){
System.out.println("我是动物总类");
}
public void eat(){
System.out.println("动物吃东西");
}
}
class Cat2 extends Animal2{
public void cry(){
System.out.println("我是猫,喵喵喵");
}
//猫吃鱼
public void eat(){
System.out.println("猫喜欢吃鱼");
}
}
class Dog2 extends Animal2{
public void cry(){
System.out.println("我是狗,汪汪汪");
}
//狗吃骨头
public void eat(){
System.out.println("狗喜欢吃骨头");
}
}
13、java允许父类的引用变量引用它子类的实例(对象) Animal2 animal = new Cat2() 这种转换是自动完成的
14、子类转父类,父类转子类
java系列--类和对象的更多相关文章
- 第31节:Java基础-类与对象
前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包,访问权限,类的继承,继承性,方法的重写,super变量. 方法的重载:成员方法的重载 ...
- Java面向对象-类与对象
Java面向对象-类与对象 类与对象的关系 我们通俗的举个例子,比如人类是一种类,张三这个人就是人类的具体的一个个体,也就是java中的对象:这就是一个类与对象的关系: 类的定义 下面看实例 类的创建 ...
- 关于Java构造类与对象的思考
简单记录一下Java构造类与对象时的流程以及this和super对于特殊例子的分析. 首先,接着昨天的问题,我做出了几个变形: Pic1.原版: Pic2.去掉了T.foo方法中的this关键字: P ...
- java 面向对象 — 类和对象
构造方法 1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名) 2.每个类可以有一个以上的构造器 3.构造器可以有0个.1个或1个以上的参数 4.构造器没有返回值 5.构造器 ...
- JAVA基础——类和对象
java类与对象学习笔记 一.成员变量和局部变量 (1)定义 1.成员变量 在类中定义,用来描述对象将要有什么.(默认的成员变量值为0) 2.局部变量 在类的方法中定义,在方法中临时保存数据. 演示示 ...
- java(9)类和对象
一.理解什么是类和对象 万事万物皆对象 1.1.属性——对象具有的特征(特点) 1.2.方法——对象可执行的操作(能干什么事) 1.3.对象的定义: 是一个客观存在的,看的见或摸得着的实体,由属性和方 ...
- Java面向对象——类,对象和方法
1.类的概念 在生活中,说到类,可以联想到类别,同类,会想到一类人,一类事物等等.而这一类人或事物都是具有相同特征或特点和行为的,我们根据不同的特征或特点和行为将他们归类或分类.同时,当我们认识一个新 ...
- Java学习——类与对象
在学习面向对象之前首先我们要理解一下几点: 什么是面向对象 对象的概念 类 类与对象的关系/区别 什么是对象的属性 什么是对象的方法 什么是面向对象.对象.类 讲到面向对象就不得提到面向过程,早期的计 ...
- Java面向对象类与对象整理
第一章 面向对象: 1.1 什么是面向过程: 遇到某件事的时候,思考 “我该怎么做”然后一步一步实现的过程 1.2 什么是面向对象: 遇到某件事的时 ...
随机推荐
- nginx slab内存管理
本来这一篇作为nginx系列的开头是不合适的,不过由于nginx进程框架自己的梳理还没完成,这部分又刚好整理完了,就从这开始吧.这儿谈的是nginx的slab的内存管理方式,这种方式的内存管理在ngi ...
- java导读
导读: 我们学习Java大概有3个方向,第一,桌面系统,包括C/S结构:第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了.第三,面向企业应用.计算的平台,J2EE. ...
- redmine配置邮件
作为一个项目管理平台,必须能够通知项目成员有关项目和任务的各种状态变化.这也是一种典型的观察者模式.开发人员可以跟踪某个任务,当任务状态.备注.文档.优先级等变化时开发人员就可以得到通知. 对于新配置 ...
- emacs redo
c / c/ cg c/ cg c/ tramp: /sudo::/usr/
- 优化Android App性能?十大技巧必知!
无论锤子还是茄子手机的不断冒出,Android系统的手机市场占有率目前来说还是最大的,因此基于Android开发的App数量也是很庞大的.那么,如何能开发出更高性能的Android App?相信是软件 ...
- gen_grant_sel.sql
set echo off feedback off verify off pagesize 0 linesize 120 define v_grantee=&1 define v_grant_ ...
- jQuery获取Select选中的Text和Value,根据Value值动态添加属性等
语法解释:1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发2. var ch ...
- Google IP
http://173.194.130.4/http://64.233.167.165/
- ajax编程**
ajax 编程 *step1获得 XmlHttpRequest 对象.该对象由浏览器提供,但是该类型并没有标准化.ie 和其它浏览器不同,其它浏览器都支持该类型,而 ie 不支持. function ...
- IWorkSpace接口介绍 1.打开各种数据库
IWorkspace接口提供访问工作空间的通用属性和方法,如它的连接属性,以及包含的数据集的方法. IWorkspace的成员字段: Members Description ConnectionP ...