1、构造方法没有类型,有类型的不是不叫构造方法。

2、一个类的的成员变量可以是java允许的任何数据类型,一个类可以把某个对象作为自己的一个成员变量,如果用这样的类创建对象,那么该对象中就会其他对象,也就是说该类的对象将其他的对象作为自己的组成部分。(Has-A)若是,一个对象组合了另一个对象,则可以委托被组合的对象调用其方法。通过组合对象调用方法,也叫做黑盒复用。另一个就是当前对象可以随时更换包含的对象,这种现象叫做弱耦合现象。

package com.DiErZhang;

public class Example10 {

public static void main(String[] args) {
        // TODO Auto-generated method stub
        //
        Cricle cricle=new Cricle(100);
        System.out.println("main fouctuon"+cricle);
        System.out.println("main function"+cricle.getRadius());
        Circular circular=new Circular(cricle,20);
        System.out.println("circular function "+circular.bottom);
        System.out.println("circular function"+circular.getBottomRadius());
        System.out.println("circular"+circular.getVolme());
        double r=999;
        System.out.println("rewirte r"+r);
        circular.setBootomRadius(r);
        circular.getBottomRadius();
    }
}
class Cricle{
    double radius,area;
    Cricle(double r){
        radius=r;
    }
    void setRadius(double r){
        radius=r;
    }
    double getRadius(){
        return radius;
    }
    double getarea(){
        area=3.1415*radius*radius;
        return area;
    }
}
class Circular{
    Cricle bottom;
    double height;
    Circular(Cricle c, double h){
        bottom=c;
        height=h;
    }
    double  getVolme(){
        return bottom.getarea()*height/3.0;
    }
    double getBottomRadius(){
        return bottom.getRadius();
    }
    public void setBootomRadius(double r){
        bottom.setRadius(r);
    }
}
2、说一下实例变量和类变量的关联关系

一个类可以创建多个对象,分派给不同对象的的实例变量占有不同的存储空间,改变一个对象的实例变量不会改变其他对象的实例变量。对象共享类变量。除此之外,类变量不仅可以通过对象来访问还可以通过类名来访问。

当类的字节码文件加载到内存中时,类的实例方法不会被分派入口地址,只有该类创建对象之后,类中的实例方法才会分配入口地址,也就是说类创建的任何对象都可以调用实例方法。当再次创建对象向时候,不再分配入口地址,也就是说方法的入口地址被所有对象共享。当所有对象都不存在的时候,方法的入口地址才会被取消。

3、另一个问题就是this关键字的使用细节问题

this可以出现在实例方法和构造方法中,但是不可以出现在类方法中。this关键字出现在构造方法中时,表示使用该构造方法所创建的对象。

关键字this出现在实例方法中的时候表示 this代表该方法当前的对象。如果源文件使用import语句引入另一的包中的类,并使用该类创建一个对象,那么该对象能够访问自己的public修饰的方法。

java概念基础笔记整理的更多相关文章

  1. java部分基础知识整理----百度脑图版

    近期发现,通过百度脑图可以很好的归纳总结和整理知识点,本着学习和复习的目的,梳理了一下java部分的知识点,不定期更新,若有不恰之处,请指正,谢谢! 脑图链接如下:java部分基础知识整理----百度 ...

  2. 知了课堂 Python Flask零基础 笔记整理

    目录 起步 安装Python2.7: Python虚拟环境介绍与安装: pip安装flask: 认识url: URL详解 web服务器和应用服务器以及web应用框架: Flask 第一个flask程序 ...

  3. 《深入理解 Java 虚拟机》笔记整理

    正文 一.Java 内存区域与内存溢出异常 1.运行时数据区域 程序计数器:当前线程所执行的字节码的行号指示器.线程私有. Java 虚拟机栈:Java 方法执行的内存模型.线程私有. 本地方法栈:N ...

  4. HTML基础笔记整理

    「学习笔记」HTML基础 前言 勤做笔记不仅可以让自己学的扎实,更重要的是可以让自己少走弯路.有人说:"再次翻开笔记是什么感觉",我的回答是:"初恋般的感觉". ...

  5. web基础笔记整理(一)

    一.程序的分层 1.界面层: 某种类型的应用程序 a.DOS(控制台运行) b.桌面应用程序--独立安装,独立运行 c.web类型--现在流行的 单机版:电脑上要安装,程序升级之后,电脑上也要升级-- ...

  6. 一位菜鸟的java 最基础笔记

    java的特性 简单性(Simple). 结构体系中立(Architecture Neutral). 面向对象(Object Oriented). 易于移植(Portable). 分布式(Distri ...

  7. Java Junit 基础笔记

    Junit 1. 概念 JUnit是一个Java语言的单元测试框架. 单元测试:单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工 ...

  8. Java正则表达式基础知识整理

    指定为字符串的正则表达式必须首先被编译为此类的实例.然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字符序列匹配.执行匹配所涉及的所有状态都驻留在匹配器中,所以多个 ...

  9. java某些基础知识点整理

    1. \n换行 \r回车 \"双引号 \\反斜杠 2.Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. byte: byte 数据类型是 ...

随机推荐

  1. Django REST framework 第五章 Relationships & Hyperlinked APIs

    到目前为止,API内部的关系是使用主键来代表的.在这篇教程中,我们将提高API的凝聚力和可发现性,通过在相互关系上使用超链接. Creating an endpoint for the root of ...

  2. 🍓 react,jroll滑动删除 🍓

    import React, { Component } from 'react'; import '../src/css/reset.css'; import '../src/css/delete.c ...

  3. Flask网页模板的入门

    #网页模板需要导入render_template from flask import Flask,render_template   方法一: #使用render_template模块来渲染模板文件 ...

  4. json数据交互

    springmvc 的json数据交互 - 哎幽的成长 - CSDN博客--和老师讲课相同http://blog.csdn.net/u012373815/article/details/4720818 ...

  5. div与 css--绝对定位和相对定位

    <10-页面美化专题-div和css基础.avi> Border-topPadding-topMargin-topFloat Position #clear{Both:clear;}//浮 ...

  6. 第一节,tensorflow基础构架

    1.tensorflow结构 import tensorflow as tfimport numpy as np #create datax_data=np.random.rand(100).asty ...

  7. Navicat for MySQL 12中文版 破解流程

    1.下载  Keygen_Patch 软件 下载地址 pass: saxz 2.启动 Keygen_Patch 软件 3.提示破解成功了,先别着急 4.运行 Navica  软件,输入注册码 5.断网 ...

  8. Python3-高阶函数、闭包

    一.高阶函数   满足下列条件之一为高阶函数 1.某一函数当作参数传入另一个函数中 2.函数的返回值包含n个函数,n>0 高阶函数示范: def bar(): print 'in the bar ...

  9. Python 脚本碎片

    基本输入输出 用户名/密码 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # Liu Lei import getpass username = inpu ...

  10. nodejs+express+mongodb简单的例子

    简单的介绍下node+express+mongodb这三个东西.node:是运行在服务器端的程序语言,表面上看过去就是javascript一样的东西,但是呢,确实就是服务器语言,个人觉得在一定层次上比 ...