zoukankan      html  css  js  c++  java
  • 面向对象

    //数组定义
    int[] arr= new int[3];//动态初始化
    int[] arr={1,2,3,4}; //静态初始化
    public static int add(int[] arr){
    int sum= 0;
    //遍历一组数组 求和
    for(int i = 0;i<arr.length;i++){
    sum+=arr[i];
    }
    return sum;
    }
    public static void main(String[] args){
    int res =add(new int[]{1,2,3});
    Systen,out,println(res);
    }
    //二维数组的定义
    int[][] arr =new int[3][];
    int[][] arr= new int[3][2];
    //二维数组的静态初始化
    int[][] arr = new int {new int[][]{1,2},[2,3],[3,4,5]};
    int [][] arr ={{1,2},{2,3},{3,4,5}}
    //一维数组的copy
    public static int[] arrCopy(int[] arr){
    int[] des =new int [arr.length];
    for(int i =0;i<arr.length;i++){
    des[i] =aee[i];
    }
    System.out.println("在方法内,亲创建的目标数组的新地址是: +des");
    return des;
    }
    //************************************
    //面对对象。。。。
    现实世界中的事物 Java的类>>对象
    属性 -->成员变量
    行为 -->成员方法
    //学生类
    class Student{
    String name;
    int age;
    String address;
    public void study(){
    System.out.println("学习");
    public void eat(){
    System.out.println("吃饭");
    }
    public void sleep(){
    System.out.println("睡觉");
    }
    }
    }
    class StudentDemo{
    public static void main(String[] args){
    //类名 对象名 = new 类名();
    Student s = new Student();
    //输出成员变量值
    // System.out.println(s.name);
    // System.out.println(s.age);
    // System.out.println(s.address);
    System.out.println(s.name + " "+ s.age+" " +s.address);
    //成员变量赋值
    s.name = "张三";
    s.age =16;
    s.address ="北京";
    //赋值后输出
    System.out.println(s.name +" "+s.age+" " +s.address);
    //调用方法
    s.study();
    s.eat();
    s.sleep();
    }
    }
    //手机类
    class phone{
    String brand;
    int price;
    String color;
    public void call(String name){
    System.out.println("给"+name+"打电话");
    }
    public void sendMessage(){
    System.out.println("发短信");
    }
    public void playGame(){
    System.out.println("玩游戏");
    }
    }
    class PhoneDemo{
    public static void main(String[] args){
    Phone p = new Phone();
    System.out.println(p.brand+" "+p.price+" "+p.color);
    p.brand = "华为";
    p.price = "1000";
    p.color = "白色";
    System.out.println(p.brand +" " +p.price+" " +p.color);
    //调用方法
    p.call("小李");
    p.sendMessage();
    p.playGame();
    }
    }
    //匿名对象、
    class Student{
    public void show(){
    System.out.println("I love study");
    }
    }
    class StudentDemo{
    public void method(Student s){
    s.show();
    }
    }
    class NoNameDemo{
    public static void main(String[] arge){
    Student s = new Student();
    s.show();
    s.show();
    System.out.println("----------");
    //匿名对象
    // new Student();
    //匿名对象调用方法
    new Student().show();
    new Student().show();
    System.out.println("----------");
    //匿名对象作为实际参数传递
    StudentDemo sd = new StudentDemo();
    // Student ss = new Student();
    // sd.method(ss);//s是实际参数
    //匿名对象
    sd.method(new Student());
    //两个都是匿名对象
    new StudentDemo().method(new Student());
    }
    }
    //封装
    class Student{
    String name ;
    private int age;
    public void setAge(int a){
    if(a<0||age>150){
    System.out.println("年龄非法");
    }else{
    age = a;
    }
    }
    public void show(){
    System.out.println("姓名"+name);
    System.out.println("年龄"+age);
    }
    }
    class StudentDemo{
    public static void main(String[] args){
    Student s = new Student();
    s.show();
    System.out.println("--------------------");
    //给成员变量赋值
    s.name="林青霞";
    s.setAge(27);
    s.show();
    System.out.println("---------");

    }
    }
    //**************************
    private关键字
    //特点 :被private 修饰的成员只能本类才能访问
    //  把成员变量用private修饰
    //  提供对应的getXxx()/setXxx()方法,这样在类的外部就可以通过公有的方法对这些私有变量进行访问了
    class Demo{
    private int num = 10;
    public void show(){
    System.out.println(num);
    }
    private void method(){
    System.out.println("method");
    }
    public void function(){
    method();

    }
    }
    class PrivateDemo{
    public static void main(String[] args){
    Demo d =new Demo();
    d.show();
    d.function();
    }
    }
    //Student >>>>>>>>>>>封装和private
    // getXxx()和steXxx()方法
    class Student{
    private Student name;
    private int age;
    public String getName(){
    return name ;
    }
    public void setName(String n){
    name = n;
    }
    public int getAge(){
    return age;
    }
    public void setAge(int a){
    age =a ;
    }
    }
    class StudentText{
    public static void main(String[] args ){
    Student s =new Student();
    System.out.println(s.getName()+" "+s.getAge());
    s.steName("tom");
    s.setAge(27);
    System.out.println(s.getName()+" " +s.getAge());
    }
    }
    //定义一个类Demo,其中定义一个求两个数据和的方法,定义一个测试类Test,进行测试。
    //方式1
    /*class Demo{
    public int sum(){
    int a =10;
    int b = 20;
    int c = a+b;
    return c;
    }
    }*/
    //方式2
    /*class Demo{
    public int sum(int a ,int b){
    return a + b;
    }
    }*/
    //方式3
    class Demo{
    int a;
    int b;
    public int sim(){
    return a+b;
    }
    }
    //测试类
    public static void main(String[] args ){
    //方式1
    Demo d = new Demo();
    System.out.println(d.sum());
    //方式2
    Demo d =new Demo();
    int a = 10;
    int b =20;
    System.out.println(d.sum(a,b));
    //方式3
    Demo d = new Demo();
    d.a=10;
    d.b=20;
    System.out.println(d.sun());
    }
    //定义一个长方形类rectangle,定义求周长girth和面积area的方法,
    //然后定义一个测试类Test2,进行测试。
    import java.util.Scanner{
    class ChangFangXing{
    private int length;
    private int width;
    public ChangFangXing(){}
    public void setLength(int length){
    this.length = length;}
    public void setWidth(int width){
    this.width = width;
    }
    public int getZhouChang(){
    return(length+width)*2;
    }
    public int getArea(){
    return length*width;
    }
    }
    class Test2{
    public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入长方形的长: ");
    int length = sc.nestInt();
    System.out.println("请输入长方形的宽: ");
    int width =sc.nestInt();
    ChangFangXing cfx =new ChangFangXing();
    cfx.steLength(length);
    cfx.steWidth(width);
    System.out.println("周长是:"+cfx.getZhouChang());
    System.out.println("面积是:+cfx.getArea()");

    }
    }
    }

     

    1 /*Student s = new Student();>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    加载Student.class文件进内存
    在栈内存为变量s开辟空间
    在堆内存为对象开辟空间
    给对象的成员变量进行默认初始化(0/false/null)
    给产生的对象的成员变量进行显示初始化(若类中成员变量使用了赋值语句)

    通过构造方法对对象的成员变量赋值(如果构造方法中使用了赋值语句)
    对象初始化完毕,把实例对象地址(引用)赋值给变量s */
    /*2 对象的成员变量的值都可以在哪些地方被赋值?
    1. 类加载后,进行初始化的时候(系统赋默认值,无法更改系统规定的赋什么默认值)
    2. 在类的定义中显示初始化时(可以根据业务需求)
    3. 构造方法中(根据业务需求)
    4. 使用对象名.变量名 方式赋值或者是使用setXxx方法赋值(根据业务需求)*/

  • 相关阅读:
    Linux内核的总结认识
    服务器的基本问题避免
    Linux中多线程信号的处理
    gdb调试
    TCP数据包的封包和拆包
    网络TCp数据的传输设计(黏包处理)
    InputArray和OutputArray
    UTF8转unicode说明
    C++使用标准库的栈和队列
    resize函数有五种插值算法
  • 原文地址:https://www.cnblogs.com/Chasingdreams/p/6641555.html
Copyright © 2011-2022 走看看